Ich bin gerade dabei einen PHP-Formular zu schreiben.
Das Ganze musste wie folgt sein:
1-Wenn alle Felder ausgefüllt sind soll das Formular kontrolle.php aufgerufen werden, in dem der Benutzer seine angegebenen Angabe sich ansehen und kontrollieren kann.
2-Wenn ein oder anderes Feld nicht ausgefüllt wurde, soll eine Fehlermeldung erscheinen und das Formualr selbst aufgerufen werden, damit die leeren Felder ausgefüllt werden.
Ich arbeite gerade an diese Lösung, es klappt aber irgendwie nicht, besser gesagt, wenn ich die Felder leer lasse, erscheint keine Fehlermeldung.
Vielleicht können mir die Profies helfen?
<body>
<h1>Formular mit PHP an die Datenbank schicken</h1>
<p> </p>
<?php
//$flag==1, wenn das Formular abgeschickt wurde
if( $_POST['flag']=="1" )
{
//testen, ob Felder ausgefüllt sind
if( !$_POST['anrede']){$fehler="Bitte geben Sie eine Anrede ein. <br>";}
if( !$_POST['name']){$fehler.="Bitte geben Sie einen Namen ein. <br>";}
//Wenn Fehler vorhanden, eine Fehlermeldung ausgeben und $flag zurücksetzen, damit das Formular erneut angezeigt wird
if( $fehler )
{
$meldung="<h2><font color=red>" . $fehler . "</font></h2>";
//$flag zurücksetzen
unset( $_POST['flag'] );
?>
<form action='<?php echo $PHP_SELF; ?>' method="POST" name="form1">
<table width="80%" border="0">
<tr>
<td width="53%"><h2><font color="#0066FF">Bitte füllen Sie das Formular aus</font></h2></td>
<td width="47%">
<p><input name="flag" type="hidden" value="1"></p>
<p> </p></td>
</tr>
<tr>
<td><strong>Anrede</strong></td>
<td><input name="anrede" type="text" value='<?php echo $_POST['anrede']; ?>'/></td>
</tr>
<tr>
<td><strong>Name</strong></td>
<td><input name="name" type="text" value='<?php echo $_POST['name']; ?>'/></td>
</tr>
<tr>
<td> </td>
<td><input type="submit" name="Submit" value="Abschicken" /></td>
</tr>
</table>
</form>
<?php
}//if( $fehler ) wird geschlossen
echo $meldung;
}//if( $_POST['flag']=="1" ) wird geschlossen
else
{
?>
<form action="kontrolle_finale.php" method="POST" name="form2">
<table width="80%" border="0">
<tr>
<td width="53%"><h2><font color="#0066FF">Bitte füllen Sie das Formular aus</font></h2></td>
<td width="47%">
<p><input name="flag" type="hidden" value="1"></p>
<p> </p></td>
</tr>
<tr>
<td><strong>Anrede</strong></td>
<td><input name="anrede" type="text" value='<?php echo $_POST['anrede']; ?>'/></td>
</tr>
<tr>
<td><strong>Name</strong></td>
<td><input name="name" type="text" value='<?php echo $_POST['name']; ?>'/></td>
</tr>
<tr>
<td> </td>
<td><input type="submit" name="Submit" value="Abschicken" /></td>
</tr>
</table>
</form>
<?php
}
?>
</body>
</html>
Das Ganze musste wie folgt sein:
1-Wenn alle Felder ausgefüllt sind soll das Formular kontrolle.php aufgerufen werden, in dem der Benutzer seine angegebenen Angabe sich ansehen und kontrollieren kann.
2-Wenn ein oder anderes Feld nicht ausgefüllt wurde, soll eine Fehlermeldung erscheinen und das Formualr selbst aufgerufen werden, damit die leeren Felder ausgefüllt werden.
Ich arbeite gerade an diese Lösung, es klappt aber irgendwie nicht, besser gesagt, wenn ich die Felder leer lasse, erscheint keine Fehlermeldung.
Vielleicht können mir die Profies helfen?
<body>
<h1>Formular mit PHP an die Datenbank schicken</h1>
<p> </p>
<?php
//$flag==1, wenn das Formular abgeschickt wurde
if( $_POST['flag']=="1" )
{
//testen, ob Felder ausgefüllt sind
if( !$_POST['anrede']){$fehler="Bitte geben Sie eine Anrede ein. <br>";}
if( !$_POST['name']){$fehler.="Bitte geben Sie einen Namen ein. <br>";}
//Wenn Fehler vorhanden, eine Fehlermeldung ausgeben und $flag zurücksetzen, damit das Formular erneut angezeigt wird
if( $fehler )
{
$meldung="<h2><font color=red>" . $fehler . "</font></h2>";
//$flag zurücksetzen
unset( $_POST['flag'] );
?>
<form action='<?php echo $PHP_SELF; ?>' method="POST" name="form1">
<table width="80%" border="0">
<tr>
<td width="53%"><h2><font color="#0066FF">Bitte füllen Sie das Formular aus</font></h2></td>
<td width="47%">
<p><input name="flag" type="hidden" value="1"></p>
<p> </p></td>
</tr>
<tr>
<td><strong>Anrede</strong></td>
<td><input name="anrede" type="text" value='<?php echo $_POST['anrede']; ?>'/></td>
</tr>
<tr>
<td><strong>Name</strong></td>
<td><input name="name" type="text" value='<?php echo $_POST['name']; ?>'/></td>
</tr>
<tr>
<td> </td>
<td><input type="submit" name="Submit" value="Abschicken" /></td>
</tr>
</table>
</form>
<?php
}//if( $fehler ) wird geschlossen
echo $meldung;
}//if( $_POST['flag']=="1" ) wird geschlossen
else
{
?>
<form action="kontrolle_finale.php" method="POST" name="form2">
<table width="80%" border="0">
<tr>
<td width="53%"><h2><font color="#0066FF">Bitte füllen Sie das Formular aus</font></h2></td>
<td width="47%">
<p><input name="flag" type="hidden" value="1"></p>
<p> </p></td>
</tr>
<tr>
<td><strong>Anrede</strong></td>
<td><input name="anrede" type="text" value='<?php echo $_POST['anrede']; ?>'/></td>
</tr>
<tr>
<td><strong>Name</strong></td>
<td><input name="name" type="text" value='<?php echo $_POST['name']; ?>'/></td>
</tr>
<tr>
<td> </td>
<td><input type="submit" name="Submit" value="Abschicken" /></td>
</tr>
</table>
</form>
<?php
}
?>
</body>
</html>