Autor |
Nachricht |
Colt Seavers
Threadersteller
Dabei seit: 14.04.2002
Ort: Stuttgart
Alter: 44
Geschlecht:
|
Verfasst Fr 09.03.2007 23:10
Titel Kontaktformular: nach Eingabe HTML-Seite aufrufen |
|
|
Hallo zusammen,
bin php-Anfänger und brauche eure Hilfe.
Ich habe folgendes php-Script für ein Kontaktformular (auszugsweise):
Code: | $Mailnachricht = "Sie haben folgende Nachricht erhalten: \n\n";
while(list($Formularfeld, $Wert)=each($_REQUEST))
{
if($Formularfeld!="Send")
{
$Mailnachricht .= $Formularfeld.": ".$Wert."\n";
}
}
$Mailnachricht .= "\nDatum/Zeit: ";
$Mailnachricht .= date("d.m.Y H:i:s");
$Mailbetreff = "Callback Service";
$Mailbetreff .= $_REQUEST['Betreff'];
mail($Empfaenger, $Mailbetreff, $Mailnachricht, "From: ".$_REQUEST['Email']);
echo"Vielen Dank für Ihre E-Mail!";
echo "\n<a href=\"javascript:history.back();\">zurück</a>";
} |
Es funktioniert prima, allerdings erscheint nach Ausfüllen des Formulars nur eine weiße Seite mit Text (Vielen Dank für Ihre E-Mail).
Wie baue ich hier eine Weiterleitung ein z. B. auf Seite "danke.html".
Vielen Dank schonmal.
Viele Grüße
Timo
|
|
|
|
|
dastef
Dabei seit: 03.11.2003
Ort: -
Alter: -
Geschlecht:
|
Verfasst Fr 09.03.2007 23:42
Titel
|
|
|
PHP-Manual: header()
|
|
|
|
|
Anzeige
|
|
|
Austroguy
Dabei seit: 08.09.2005
Ort: Tirol
Alter: 47
Geschlecht:
|
Verfasst Sa 10.03.2007 09:54
Titel
|
|
|
Du kannst die Weiterleitung direkt in die html Seite schreiben:
Code: | <input type="hidden" name="redirect" value="http://www.yourdomain.com/thanks.html"> |
|
|
|
|
|
rob
Dabei seit: 11.12.2003
Ort: ~/
Alter: 46
Geschlecht:
|
Verfasst Sa 10.03.2007 10:54
Titel
|
|
|
ja, ob das mal funktioniert..?
warum sollte daraufhin eine weiterleitung erfolgen, nur wenn ein formularfeld so einen wert da hat..?
wenn das script diesen wert nicht entgegennimmt und verarbeitet kann auch nichts passieren...
ersetze das:
Code: | echo"Vielen Dank für Ihre E-Mail!";
echo "\n<a href=\"javascript:history.back();\">zurück</a>";
|
durch:
Code: |
header( 'Location: htpp//seite.de/weiterleitung.html' );
exit;
|
Zuletzt bearbeitet von rob am Sa 10.03.2007 10:59, insgesamt 1-mal bearbeitet
|
|
|
|
|
Colt Seavers
Threadersteller
Dabei seit: 14.04.2002
Ort: Stuttgart
Alter: 44
Geschlecht:
|
Verfasst Sa 10.03.2007 11:59
Titel
|
|
|
Hallo,
ich habe das mal so eingebaut. Aber es kommt nur eine weiße Seite. Von Weiterleitung
keine Spur. Hier mal das ganze Script:
Code: | <html>
<head>
<meta http-equiv="content-type" content="text/html;charset=utf-8">
<title>Kontaktformular mit PHP</title>
</head>
<body>
<?php
$Empfaenger = "info@meineseite.de";
if($_REQUEST['Send'])
{
if(empty($_REQUEST['Name']) || empty($_REQUEST['Telefon']) || empty($_REQUEST['Nachricht']))
{
header( 'Location: http://meineseite.de/weiterleitung.html' );
exit;
}
else
{
$Mailnachricht = "Sie haben folgende Nachricht erhalten: \n\n";
while(list($Formularfeld, $Wert)=each($_REQUEST))
{
if($Formularfeld!="Send")
{
$Mailnachricht .= $Formularfeld.": ".$Wert."\n";
}
}
$Mailnachricht .= "\nDatum/Zeit: ";
$Mailnachricht .= date("d.m.Y H:i:s");
$Mailbetreff = "Callback Service";
$Mailbetreff .= $_REQUEST['Betreff'];
mail($Empfaenger, $Mailbetreff, $Mailnachricht, "From: ".$_REQUEST['Email']);
header( 'Location: http://www.meineseite.de/weiterleitung.html' );
exit;
}
}
else
{
echo"Ein Fehler ist aufgetreten. Bitte gehen Sie auf diese <a href=\"kontakt.html\">Seite</a>.";
}
?>
</body>
</html> |
Danke nochmals.
Grüße
Timo
|
|
|
|
|
schachbrett
Dabei seit: 11.10.2006
Ort: Köln
Alter: -
Geschlecht:
|
Verfasst Sa 10.03.2007 14:14
Titel
|
|
|
header nicht footer Du musst ihn ganz zu Anfang schicken, ohne vorhergehende Ausgabe.
|
|
|
|
|
Colt Seavers
Threadersteller
Dabei seit: 14.04.2002
Ort: Stuttgart
Alter: 44
Geschlecht:
|
Verfasst Sa 10.03.2007 14:47
Titel
|
|
|
Also das geht nicht. Sorry aber ich hab da echt 0 Ahnung
Was bedeutet am Anfang? Also prinzipiell sollte es so funktionieren:
Sind alle Felder ausgefüllt gehe zu "danke.html". Feld vergessen, gehe zu
"allefelder.html".
|
|
|
|
|
pRiMUS
Dabei seit: 09.09.2003
Ort: Vienna
Alter: 48
Geschlecht:
|
Verfasst Sa 10.03.2007 15:02
Titel
|
|
|
prinzip:
html seite mit kontaktformular -> submit an sich selbst oder ein neues dokument -> dort steht AM ANFANG vor jeder (html) ausgabe dann das script zum mail versenden, welches bei erfolg (oder misserfolg) dann den header ausgibt wo es hinleiten soll.
beispiel:
Code: | <?php
if (isset($_POST["submit"]))
{
// mail schicken
header("Location ...");
exit
}
?>
<html>
<head>
</head>
<body>
<form ...>
hier das kontakt formular
</form>
</body>
</html> |
verstehen und umsetzen.
|
|
|
|
|
|
|
|
Ähnliche Themen |
PHP nach Eingabe Link aufrufen
Problem bei Kontaktformular eingabe
aspx seite aus flash aufrufen
jQuery-Funktion HTML-seitenübergreifend aufrufen
Enter-Eingabe in HTML-Formularen unterbinden?
Kontaktformular in html
|
|