KraKi: Fehlermeldung im gleichen Formular

Beitrag lesen

Wie würde ich das hinbekommen ?

  
<?php  
 $Fehlerfrei = True;  
 echo (' <form action="'.$self.'" method="post">'."\n");  
 echo (' <table align="left" class="smalltext">'."\n");  
 echo ('  <tr>'."\n");  
 echo ('   <td align="left">'."\n");  
 echo ('    Name:'."\n");  
 echo ('   </td>'."\n");  
 echo ('   <td align="left">'."\n");  
 echo ('    <input type="text" name="name" size="28" maxlength="40" value="'.$_POST['name'].'" />'."\n"); //Falls der Name schon mal eingetragen wurde wird er nun wieder eingefügt.  
 echo ('   </td>'."\n");  
 echo ('  </tr>'."\n");  
 if (((isset($_POST['name'])) && (empty($_POST['name']))) { //"Wenn das Formular gesendet wurde aber das Feld name leer ist"  
  $Fehlerfrei = False;  
  echo '   <tr>'."\n");  
  echo ('   <td>&nbsp;</td>'."\n");  
  echo ('   <td>'."\n");  
  echo ('    Kein Name angegeben'."\n");  
  echo ('   </td>'."\n");  
  echo ('  </tr>';  
 }  
 echo ('  <tr>'."\n");  
 echo ('   <td align="left">'."\n");  
 echo ('    eMail:'."\n");  
 echo ('   </td>'."\n");  
 echo ('   <td align="left">'."\n");  
 echo ('    <input type="text" name="mail" size="28" maxlength="80" value="'.$_POST['mail'].'" />'."\n");  
 echo ('   </td>'."\n");  
 echo ('  </tr>'."\n");  
 if (((isset($_POST['mail'])) && (empty($_POST['mail']))) {//"Wenn das Formular gesendet wurde aber das Feld mail leer ist"  
  $Fehlerfrei = False;  
  echo '   <tr>'."\n");  
  echo ('   <td>&nbsp;</td>'."\n");  
  echo ('   <td>'."\n");  
  echo ('    Keine eMail angegeben'."\n");  
  echo ('   </td>'."\n");  
  echo ('  </tr>';  
 }  
 echo ('  <tr>'."\n");  
 echo ('   <td align="left" valign="top">'."\n");  
 echo ('    Nachricht:'."\n");  
 echo ('   </td>'."\n");  
 echo ('   <td align="left">'."\n");  
 echo ('    <textarea rows="10" name="msg" cols="40">'."\n");  
 echo (      $_POST['msg']."\n");  
 echo ('    </textarea>'."\n");  
 echo ('   </td>'."\n");  
 echo ('  </tr>'."\n");  
 if ((isset($_POST['msg'])) && (empty($_POST['msg']))) {//"Wenn das Formular gesendet wurde aber das Feld msg leer ist"  
  $Fehlerfrei = False;  
  echo '   <tr>'."\n");  
  echo ('   <td>&nbsp;</td>'."\n");  
  echo ('   <td>'."\n");  
  echo ('    Keine Nachricht eingegeben'."\n");  
  echo ('   </td>'."\n");  
  echo ('  </tr>'."\n");  
 }  
 echo ('  <tr>'."\n");  
 echo ('   <td colspan="2" align="center">'."\n");  
 //Optional:  
 //if ($Fehlerfrei) { echo ('Formular wurde versendet'); }  
 //else {  
 echo ('    <input type="submit" value="Senden" />'."\n");  
 //}  
 echo ('   </td>'."\n");  
 echo ('  </tr>'."\n");  
 echo (' </table>'."\n");  
 echo ('</form>'."\n");  
 if ($Fehlerfrei) {  
  /*  
   Formularverarbeitung,  
   Also speichern in Datenbank  
   oder verschicken als Mail oder  
   was auch immer  
   Am Ende natürlich die Antwort  
   "Daten erfolgreich gesendet"  
  */  
 }  
?>  

Ab einer unbestimmten Anzahl von <?php (...) ?> wird es meiner Meinung nach unübersichtlich, daher sind hier nur noch zwei d'rin. Falls du Verständnisfragen hast (du sagtest du benutzt PHP nur gelegendlich), dann frag ruhig :-)
Ob das Formular gesendet wurde kannst du alternativ auch prüfen, indem du dem submit einen namen gibst und dieses auf isset() prüfst.