mactrisha
Aktives Mitglied
Thread Starter
- Dabei seit
- 27.11.2003
- Beiträge
- 744
- Reaktionspunkte
- 17
Hi all,
ich habe ein kleines php-Script geschrieben, das Daten aus einem hmtl-Formular per E-Mail verschicken soll. Das klappt auch. Nur: Ich will die Erfolgsausgabe nicht mit print ("<b><center>Irgendein Mitteilungstext</center></b>\n"); machen, sondern auf eine entsprechende Seite umleiten. Ich dachte mir, das geht mit header ("location: index.php");. Aber irgendwas mit meiner if-Bedingung scheint auch nicht zu stimmen, denn das Mail sendet auch ein leeres Formular und leitet aber nach dem Senden nie auf danke.php, sondern nur immer auf index.php um. Ich will nur vor dem Senden prüfen, ob das Feld "nachricht" einen Eintrag besitzt und ob der Sende-Button geklickt wurde. Wenn ja soll gemailt werden und auf die Seite danke.php umgeleitet werden. Wenn nicht, dann soll nicht gemailt werden und auf die selbe Formularseite (index.php) zurückgeleitet werden.
Ich weiß nicht, warum das Umleiten zur index.php funktioniert, wiegesagt, das mailen funktioniert, nur ich komme nicht auf die danke.php. Wo ist denn mein Hund begraben? Kann mir jemand bitte helfen? Hat´s was mit den Hidden-Feldern zu tun? Oder muss ich das gesamte Konzept ändern?
Salü,
mactrisha.
ich habe ein kleines php-Script geschrieben, das Daten aus einem hmtl-Formular per E-Mail verschicken soll. Das klappt auch. Nur: Ich will die Erfolgsausgabe nicht mit print ("<b><center>Irgendein Mitteilungstext</center></b>\n"); machen, sondern auf eine entsprechende Seite umleiten. Ich dachte mir, das geht mit header ("location: index.php");. Aber irgendwas mit meiner if-Bedingung scheint auch nicht zu stimmen, denn das Mail sendet auch ein leeres Formular und leitet aber nach dem Senden nie auf danke.php, sondern nur immer auf index.php um. Ich will nur vor dem Senden prüfen, ob das Feld "nachricht" einen Eintrag besitzt und ob der Sende-Button geklickt wurde. Wenn ja soll gemailt werden und auf die Seite danke.php umgeleitet werden. Wenn nicht, dann soll nicht gemailt werden und auf die selbe Formularseite (index.php) zurückgeleitet werden.
PHP:
/*Beim Sende-Button im Formular steht ein Hidden-Feld <input type="hidden" name="wurdegesendet" value="true">.*/
if ($nachrichteingetragen) {
/*Beim Nachrichten-Feld im Form steht ein Hidden-Feld <input type="hidden" name="nachrichteingetragen" value="true">.*/
if ($wurdegesendet) {
/*Senden per Mail und bei Erfolg umleiten zur danke.php bei Nichterfolg zurück auf index.php.*/
if (mail("$derempfaenger","$derbetreff","$einpaarfelderplusdienachricht\n","FROM: $derabsender\n")) {
header ("Location: danke.php");
} else {
header ("Location: index.php");
}
/*Wenn keine Nachricht eingegeben wurde, dann soll auch nicht gemailt werden, sondern nur auf index.php umgeleitet werden.*/
} else {
header ("Location: index.php");
}
}
Ich weiß nicht, warum das Umleiten zur index.php funktioniert, wiegesagt, das mailen funktioniert, nur ich komme nicht auf die danke.php. Wo ist denn mein Hund begraben? Kann mir jemand bitte helfen? Hat´s was mit den Hidden-Feldern zu tun? Oder muss ich das gesamte Konzept ändern?
Salü,
mactrisha.