Nico: Formularfelder ueberpruefen

Hallo,

mittels eines PHP-Scripts werden Daten eines Formulars in eine MYSQL-Database uebertragen. In dieses Script soll nun ein Ueberpruefung eingebaut werden, ob das Feld "NAME" ausgefuellt wurde

Hier ein Auszug des Scripts:

-------------------------------

<html>

<head>
<title>ADRESSEN</title>
</head>

<?php

if ($submit)
{
$db = mysql_connect("", "", "");

mysql_select_db("",$db);
$sql = "INSERT INTO adressen (name_firma,vorname) VALUES  ('$name_firma','$vorname')";
$result = mysql_query($sql);
echo "Vielen Dank!\n";
}
else
{
?>
<form method="post" action="<?php echo $PHP_SELF?>">
  <b><pre>Angaben zu meiner Person und Adresse:
</b></pre>
  <table CELLSPACING="0" BORDER="0" WIDTH="400">
    <tr>
      <td WIDTH="25%" VALIGN="MIDDLE" HEIGHT="30">Name/Firma</td>
      <td WIDTH="25%" VALIGN="MIDDLE" HEIGHT="30"><input TYPE="text" NAME="name_firma" SIZE="33">
      </td>
      <td WIDTH="25%" VALIGN="MIDDLE" HEIGHT="30">Vorname</td>
      <td WIDTH="25%" VALIGN="MIDDLE" HEIGHT="30"><input TYPE="text" NAME="vorname" SIZE="33"> </td>
    </tr>
  </table>
  <pre><input type="Submit" name="submit" value="Abschicken">   <input TYPE="reset" VALUE="Löschen">
</pre>
</form>
<?php
}
?>
</body>
</html>

----------------------------------------------------

Der Code fuer die Ueberpruefung duerfte folgendermassen aussehen:

---------------------------------------------------
<?php
  if ( ! $name_firma ) {
         print "Bitte NAME - Feld ausfuellen ";
  }
?>
---------------------------------------------------

Dazu nun meine Frage:

Wie und wo fuege ich diesen Code in mein Script ein, damit die Fehlermeldung beim "Submit" erscheint? Danach sollte der gestresste Formular-Ausfueller natuerlich auch wieder zu seinem unvollstaendigen Formular zurueckgelangen koennen.

Fuer Eure Hilfe im voraus meinen Dank.

Gruss Nico

  1. hallo,

    wie Stefan das vor ein paar Threads weiter unten erwähnt hat, ist es am besten, wenn Du die Eingabe mit JavaScript
    überprüfts <../../tedf.htm>. Hat den Vorteil, dass Dein Formular solange nicht abgeschickt wird, bis man
    nicht irgendwas eingegeben hat...

    Wenn Du auf die php Lösung bestehst, dann müsstest Du ganz oben das einfügen:
    if (isset($name))
    {
    ....
    }
    else
    {
       print "Bitte Namen eingeben!<br>";
    }

    Grüsse,
    Balazs

    1. Wenn Du auf die php Lösung bestehst, dann müsstest Du ganz oben das einfügen:
      if (isset($name))
      {
      ....
      }
      else
      {
         print "Bitte Namen eingeben!
      ";
      }

      Hallo,

      mal vorweg, formulare überprüft man immernoch am besten clientsite also per javascript.

      Wenn du es per php machst hast du zwar mehrere möglichkeiten, aber auch mehr arbeit.

      Wenn der user nur ein "bitte namen eingeben!" auf seiner seite sieht und sonst nichts wird er vermutlich sauer sein :-) also brauchst du mal mindestens einen zurück link.

      ansprechender wäre es wenn du das formular gleich nochmal aufbaust und es mit denjenigen werten füllst die der user eingegeben hat (value="$foo"). Wenn du es geschickt machst kannst du dabei ein einziges formular verwenden. (am besten per include reinsetzen).
      So und jetzt kommts, dort wo der fehler war setzt du jetzt einen kleine fehlermeldung hin. So weiß der user ganz genau wo er was falsch gemacht hat (genau so wie mit alert - focus kombination des javascripts)

      lg
      Ludwig