Newsletterskript PHP
lima-city → Forum → Programmiersprachen → PHP, MySQL & .htaccess
abfrage
adresse
aufruf
button
code
einzige unterschied
email
erscheinen
fehler
feld
gesamten code
nachname
null
posten
schleife
stehen
switch
trage
versucht code
vorname
-
Hi!
Ich habe mir ein Newsletterskript programmiert:
<form method="POST" action="newsletter2.php"><div align="center"> <center> <table border="0" cellpadding="0" cellspacing="0" style="border-collapse: collapse" bordercolor="#111111" width="50%" id="AutoNumber3"> <tr> <td width="50%"><b><font face="Arial">Vorname: </font></b></td> <td width="50%"><b><font face="Arial"> <input type="text" name="vorname" value="<? echo $_POST['vorname']; ?>" size="20"></font></b></td> </tr> <tr> <td width="50%"><b><font face="Arial">Nachname:</font></b></td> <td width="50%"><b><font face="Arial"> <input type="text" name="nachname" value="<? echo $_POST['nachname']; ?>" size="20"></font></b></td> </tr> <tr> <td width="50%"><b><font face="Arial">E-Mail Adresse:</font></b></td> <td width="50%"><b><font face="Arial"> <input type="text" name="email" value="<? echo $_POST['email']; ?>" size="20"></font></b><br></td> </tr> </table> <p><b><font face="Arial"><input type="submit" value="Abschicken" name="submit"></font></b></p> </center> </div> </form> <?php $vorname = $_POST['vorname']; $nachname = $_POST['nachname']; $mail = $_POST['email']; $fehlertext = ""; if($vorname == ""){ $fehlertext = $fehlertext."Bitte trage deinen Vornamen ein!<br>\n"; } if($nachname == ""){ $fehlertext = $fehlertext."Bitte trage deinen Nachnamen ein!<br>\n"; } if($mail == ""){ $fehlertext = $fehlertext."Bitte trage deine Email-Adresse ein!<br>\n"; } if($vorname != "" && $nachname != "" && $mail != "" && isset($_POST["submit"])){ $sql = "INSERT INTO newsletter (email, vorname, nachname) VALUES ('$mail', '$vorname', '$nachname')"; mysql_query($sql); echo 'Sie wurden erfolgreich eingetragen!'; }else{ echo $fehlertext; } ?>
Nun hab ich versucht, mit isset($_POST["submit"])) die Fehlertexte nur dann auszugeben, wenn auch der Submit Button gedrückt wurde, aber alle 3 Fehlertexte werden sofort beim Aufruf der Seite angezeigt.
Was muss ich ändern, damit die Fehlertexte nur erscheinen, wenn der Button gedrückt wurde? -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
Du musst eine if-Schleife schreiben, die den Submit-Button überprüft. Da kommen dann eine $_POST rein..
-
chst schrieb:
Du musst eine if-Schleife schreiben, die den Submit-Button überprüft. Da kommen dann eine $_POST rein..
Hallo !
Hab ich versucht:
if($vorname != "" && $nachname != "" && $mail != "" && isset($_POST["submit"])){ $sql = "INSERT INTO newsletter (email, vorname, nachname) VALUES ('$mail', '$vorname', '$nachname')"; mysql_query($sql); echo 'Sie wurden erfolgreich eingetragen!'; }else{ echo $fehlertext; }
Geht aber nicht :/ -
du musst unten statt
else
elseif(isset($_POST["submit"]))
stehen haben.
chst schrieb: Du musst eine if-Schleife schreiben, die den Submit-Button überprüft. Da kommen dann eine $_POST rein..
1. was soll eine $_POST da drin?
2. if-ABFRAGE , for-schleife, while-schleife, switch-Abfrage
EDIT:
@chst: wann er die ausliest ist völlig egal, wenn sie nicht vorhanden sind, wird halt null in die Felder ausgegeben
Beitrag zuletzt geändert: 21.10.2010 22:12:39 von ole-reglitzki -
<form method="POST" action="newsletter2.php"><div align="center"> <center> <table border="0" cellpadding="0" cellspacing="0" style="border-collapse: collapse" bordercolor="#111111" width="50%" id="AutoNumber3"> <tr> <td width="50%"><b><font face="Arial">Vorname: </font></b></td> <td width="50%"><b><font face="Arial"> <input type="text" name="vorname" value="<? echo $_POST['vorname']; ?>" size="20"></font></b></td> </tr> <tr> <td width="50%"><b><font face="Arial">Nachname:</font></b></td> <td width="50%"><b><font face="Arial"> <input type="text" name="nachname" value="<? echo $_POST['nachname']; ?>" size="20"></font></b></td> </tr> <tr> <td width="50%"><b><font face="Arial">E-Mail Adresse:</font></b></td> <td width="50%"><b><font face="Arial"> <input type="text" name="email" value="<? echo $_POST['email']; ?>" size="20"></font></b><br></td> </tr> </table> <p><b><font face="Arial"><input type="submit" value="Abschicken" name="submit"></font></b></p> </center> </div> </form> <?php $vorname = $_POST['vorname']; $nachname = $_POST['nachname']; $mail = $_POST['email']; $fehlertext = ""; if($vorname == ""){ $fehlertext = $fehlertext."Bitte trage deinen Vornamen ein!<br>\n"; } if($nachname == ""){ $fehlertext = $fehlertext."Bitte trage deinen Nachnamen ein!<br>\n"; } if($mail == ""){ $fehlertext = $fehlertext."Bitte trage deine Email-Adresse ein!<br>\n"; } if($vorname != "" && $nachname != "" && $mail != "" && isset($_POST["submit"])){ $sql = "INSERT INTO newsletter (email, vorname, nachname) VALUES ('$mail', '$vorname', '$nachname')"; mysql_query($sql); echo 'Sie wurden erfolgreich eingetragen!'; }elseif(isset($_POST["submit"])){ echo $fehlertext; } ?>
Beitrag zuletzt geändert: 21.10.2010 22:49:11 von ole-reglitzki -
ole-reglitzki schrieb:
<form method="POST" action="newsletter2.php"><div align="center"> <center> <table border="0" cellpadding="0" cellspacing="0" style="border-collapse: collapse" bordercolor="#111111" width="50%" id="AutoNumber3"> <tr> <td width="50%"><b><font face="Arial">Vorname: </font></b></td> <td width="50%"><b><font face="Arial"> <input type="text" name="vorname" value="<? echo $_POST['vorname']; ?>" size="20"></font></b></td> </tr> <tr> <td width="50%"><b><font face="Arial">Nachname:</font></b></td> <td width="50%"><b><font face="Arial"> <input type="text" name="nachname" value="<? echo $_POST['nachname']; ?>" size="20"></font></b></td> </tr> <tr> <td width="50%"><b><font face="Arial">E-Mail Adresse:</font></b></td> <td width="50%"><b><font face="Arial"> <input type="text" name="email" value="<? echo $_POST['email']; ?>" size="20"></font></b><br></td> </tr> </table> <p><b><font face="Arial"><input type="submit" value="Abschicken" name="submit"></font></b></p> </center> </div> </form> <?php $vorname = $_POST['vorname']; $nachname = $_POST['nachname']; $mail = $_POST['email']; $fehlertext = ""; if($vorname == ""){ $fehlertext = $fehlertext."Bitte trage deinen Vornamen ein!<br>\n"; } if($nachname == ""){ $fehlertext = $fehlertext."Bitte trage deinen Nachnamen ein!<br>\n"; } if($mail == ""){ $fehlertext = $fehlertext."Bitte trage deine Email-Adresse ein!<br>\n"; } if($vorname != "" && $nachname != "" && $mail != "" && isset($_POST["submit"])){ $sql = "INSERT INTO newsletter (email, vorname, nachname) VALUES ('$mail', '$vorname', '$nachname')"; mysql_query($sql); echo 'Sie wurden erfolgreich eingetragen!'; }elseif(isset($_POST["submit"])){ echo $fehlertext; } ?>
Danke ! -
Der einzige Unterschied ist halt ganz unten:
}elseif(isset($_POST["submit"])){ echo $fehlertext; }
der Fehlertext darf ruhig erstellt werden, er soll aber nur ausgegeben werden, wenn ein Fehler vorliegt ('else') und der Button betätigt wurde ('if(...)') -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage