• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

Eingabefeld definieren

mykavun

Neues Mitglied
Hallo,

hier mein Problem kurz zusammengestellt:
ich habe als Anfänger nun ein Formular erstellt mit einem Eingabefeld und einem Absenden-Button. Das Eingabefeld "Betrag" darf nur Dezimalzahlen annehmen und dann nach Klick auf "Absenden" soll es in die Datenbank geschrieben werden. Ich hab mir folgendes überlegt:
Damit das Eingabefeld mit if (in php) überprüft werden kann, braucht es eine Zuweisung oder?
Stimmt es eigentlich mit dem type, da es ja dezimalzahlen sein sollen, die eingegeben werden?
HTML:
 <td align="right">Betrag:</td>
      <td><input name="betrag" type="text" size="10" maxlength="10"></td>
so hab ich mir das am anfang der datei vorgestellt:
HTML:
<h1>Formular für neuen Eintrag</h1>
<?php
         Bedingung Betrag ist eine dezimalzahl ist nicht erfüllt //hierbei ist Betrag der eingegebene Wert
?>

<form action="eintragfalsch.html">

<?php
         }
         else
?>

<form action="eintragerfolgt.html">
Sind das realistische Überlegungen?

Brauche Tipps und Ratschläge

lg
 
Werbung:
Der HTML-Code ist doch schon falsch aufgebaut...

Wo setzt du das "Form-tag?
Poste mal deinen gesamten Code dann helf ich dir bzw. korrigiere ich es dir.
 
ich bin ein wahrer Anfänger, daher hab ich bestimmt so einige Fehler. Danke für deine Hilfsbereitschaft.

HTML:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title></title>

</head>
<body text="#000000" bgcolor="#FFFFFF" link="#FF0000" alink="#FF0000" vlink="#FF0000">
<?php
         $mysqlhost="xxx";
         $mysqluser="xxx";
         $mysqlpwd="xxx";

         $connection=mysql_connect($mysqlhost, $mysqluser, $mysqlpwd) or die("Verbindungsversuch fehlgeschlagen");

         $mysqldb="haushaltsbuch";
         mysql_select_db($mysqldb) or die("Konnte die Datenbank nicht waehlen");
?>
<h1>Formular für neuen Eintrag</h1>
<?php
         //Bedingungen setzen
?>

<form action="eintragfehlt.html">

<?php
         }
         else
?>

<form action="eintragerfolgt.html">     //Eingegebene Daten müssen in die DB geschrieben werden

  <table border="0" cellpadding="0" cellspacing="4">
  <?php
         $ausgabe="SELECT ausgabezweck FROM ausgabe_art";
         $ausgabe_art_query=mysql_query($ausgabe) or die("Anfrage nicht erfolgreich bei ausgabe");


         $dmonat="SELECT monat FROM datummonat";
         $datummonat_query=mysql_query($dmonat) or die("Anfrage nicht erfolgreich bei dmonat");


         $djahr="SELECT jahr FROM datumjahr";
         $datumjahr_query=mysql_query($djahr) or die("Anfrage nicht erfolgreich bei djahr");


   ?>
    <tr>
      <td align="right">Art:</td>
      <td>
        <select name="arten" size="1">
        <?php
         while($zweck=mysql_fetch_array($ausgabe_art_query)){
        ?>
          <option><?php echo $zweck['ausgabezweck']?></option>

      <?php
         }
      ?>
        </select>
      </td>
    </tr>

    <tr>
      <td align="right">Datum:</td>
      <td><select name="datummonat" size="1">
         <?php
         while($m=mysql_fetch_array($datummonat_query)){
        ?>
          <option><?php echo $m['monat']?></option>
         <?php
         }
      ?>
      </select>
      <select name="datumjahr" size="1">
         <?php
         while($j=mysql_fetch_array($datumjahr_query)){
        ?>
          <option><?php echo $j['jahr']?></option>
         <?php
         }
      ?>
      </select>
     </td>
     </tr>

      <td align="right">Betrag:</td>
      <td><input name="summe" type="text" size="10" maxlength="10"></td>
    </tr>
  <!--  <tr>
      <td align="right">EC:</td>
      <td><input type="checkbox" name="Karte" value="Ec"</td>
    </tr>-->
    <tr>
    <td></td>
      <td>

        <input type="submit" value="Absenden">

        <input type="reset" value="Abbrechen">
      </td>
    </tr>
  </table>
</form>

</body>
</html>
 
Werbung:
Sollte selbsterklärend sein hab es auch hin und wieder kommentiert... Darfst aber gern fragen wenn was ist. Die Datei ruft sich selbst auf und wertet die Eingaben aus... . Aber paar Dinge sind hier noch zu machen.
1. Deine SQL Statements hab ich mit # auskommentiert inkl. klammer, musst wieder entfernen.
2. Deine INSERT Statement
3. Abfrage ob Summe nur Zahlen enthält verbessern, denn is_numeric lässt nur Zahlen und keine Trennzeichen zu...
4. Du kannst dir eine Datei erstellen, welche die DB Zugangsdaten enthält und dann am anfang der PHP datei mit include("dateiname") einbinden.
Müsste aber für dass erste so passen. Falls jmd über den Code meckern möchte soll er anfang, aber ich bin der Meinunf für n anfang sollsts reichen ausbauen kann er ja dann immer noch.

PHP:
<?php 
//Abfrage aller Felder. Die abgefragten Werte werden in die Variablen eingelesen.
$arten = $_POST['arten'];
$monat = $_POST['datummonat'];
$jahr = $_POST['datumjahr'];
$summe = $_POST['summe'];
$senden = $_POST['absenden'];
if (empty($senden) == true)
{
//Was passiert wenn nichts gedrückt wurde
}
else 
{
//Weiter gehts absenden wurde gedrückt
if(empty($arten) == true) $error['arten'] = "Es wurde Keine Zahlart angegeben!<br/>";
if(empty($monat) == true) $error['monat'] = "Es wurde kein  Monat ausgewählt!<br/>";
if(empty($jahr) == true) $error['jahr'] = "Es wurde kein  Jahr ausgewählt!<br/>";
if(is_numeric($summe) == false) $error['summe'] = "Es wurde keine  Summe angegeben/Summe darf nur Zahlen enthalten!<br/>"; 
//is_numeric reagiert auch bei . und , überleg dir was ;).

if(is_array($error)) 
{
//Ausgabe der Fehlermeldung... Abgefragt wird ob Felder leer sind oder ob das Feld "summe" nur Zahlen enthält 
$submit = false;
echo $error['arten'];
echo $error['monat'];
echo $error['jahr'];
echo $error['summe'];
}
 else 
{
 //deklaraation einer Variablen für den späteren ablauf... Wollen nicht zuviele if's...
  $submit = true;
}
}
//Datenbankbeschreiben 
if($submit==true)
{
         #$mysqlhost="xxx";
         #$mysqluser="xxx";
         #$mysqlpwd="xxx";

         #$connection=mysql_connect($mysqlhost, $mysqluser, $mysqlpwd) or die("Verbindungsversuch fehlgeschlagen");
         # $mysqldb="haushaltsbuch";
         # mysql_select_db($mysqldb) or die("Konnte die Datenbank nicht waehlen");
// bsp. INSERT INTO tiere SET Tier = '$summe', Art = '$arten', Geburtsjahr = '$jahr' 

}

?>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title></title>
</head>
<body text="#000000" bgcolor="#FFFFFF" link="#FF0000" alink="#FF0000" vlink="#FF0000">
<?php
         #$mysqlhost="xxx";
         #$mysqluser="xxx";
         #$mysqlpwd="xxx";

         #$connection=mysql_connect($mysqlhost, $mysqluser, $mysqlpwd) or die("Verbindungsversuch fehlgeschlagen");

        # $mysqldb="haushaltsbuch";
        # mysql_select_db($mysqldb) or die("Konnte die Datenbank nicht waehlen");
?>
<h1>Formular für neuen Eintrag</h1>


<form action="<? $PHP_SELF?>" method="post">     <!-- Die Seite wertet die Daten selbstständig aus. --->
<table border="0" cellpadding="0" cellspacing="4">
  <?php
         #$ausgabe="SELECT ausgabezweck FROM ausgabe_art";
         #$ausgabe_art_query=mysql_query($ausgabe) or die("Anfrage nicht erfolgreich bei ausgabe");


        # $dmonat="SELECT monat FROM datummonat";
         #$datummonat_query=mysql_query($dmonat) or die("Anfrage nicht erfolgreich bei dmonat");


         #$djahr="SELECT jahr FROM datumjahr";
        # $datumjahr_query=mysql_query($djahr) or die("Anfrage nicht erfolgreich bei djahr");
   ?>
        
<tr>
    <td align="right">Art:</td>
    <td>
        <select name="arten" size="1">
        <?php 
        #while($zweck=mysql_fetch_array($ausgabe_art_query))
        #{?>
        <option><?php #echo $zweck['ausgabezweck']?></option>
        <?php
           #}
          ?>
        </select>
      </td>
</tr>

<tr>
    <td align="right">Datum:</td>
    <td><select name="datummonat" size="1">
    <?php
    #while($m=mysql_fetch_array($datummonat_query)){
    ?>
    <option><?php #echo $m['monat']?></option>
    <?php
    #}
    ?>
    </select>

    <select name="datumjahr" size="1">
    <?php
    #while($j=mysql_fetch_array($datumjahr_query)){
    ?>
    <option><?php #echo $j['jahr']?></option>
    <?php
    #}
    ?>
    </select>
   </td>
</tr>

<tr>
    <td align="right">Betrag:</td>
    <td><input name="summe" type="text" size="10" maxlength="10"></td>
</tr>
<tr>
    <td><input type="submit" value="Absenden" name="absenden"></td>
    <td><input type="reset" value="Abbrechen" name="abbrechen"></td>
</tr>
</table>
</form>
</body>
</html>
 
vielen lieben Dank erst einmal, dass du dir überhaupt die zeit genommen hast mir zu helfen.
ich muss mir das erst einmal alles reinziehen. melde mich dann wieder für fragen.

lg
 
Bitte, hol dir mal einen Editor... der zeigt dir auch Syntaxfehler an... Ich benutzt Eclipse, ist kostenlos und echt nett :)
 
Werbung:
Für HTML ist schon okay, aber wegen php, korrigiert bzw weißt er dich nicht auf Fehler hin... und dass ist meiner Meinung nach immer sehr nützlich :)
 
Zurück
Oben