Autor |
Nachricht |
ChouGood
Threadersteller
Dabei seit: 27.11.2006
Ort: -
Alter: -
Geschlecht:
|
Verfasst Di 21.07.2009 08:14
Titel PHP-Kontaktformular-Hilfe! |
|
|
HI...
Kann mir jemand sagen warum man immer auf der auswerten.php herauskommt, wenn man auf abschicken drückt?
Man müsste doch eigentlich die danke.html angezeigt bekommen.
Kann mir netter weiser jemand weiter helfen?
DANKE SCHONMAL!
hier der code...
html-site_____________________
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>Unbenanntes Dokument</title>
</head>
<body>
<table border="0" cellpadding="1" cellspacing="2">
<form action="auswerten.php" method="post">
<tr>
<td width="62">Name:</td>
<td width="141"><input name="Name" size="20" type="text"></td>
<td width="50">Telefon:</td>
<td width="120"><input name="Telefon" size="20" type="text"></td>
</tr>
<tr>
<td>eMail:</td>
<td><input name="Email" size="20" type="text"></td>
<td>Stadt:</td>
<td><input name="Stadt" size="20" type="text"></td>
</tr>
<tr>
<td>Betreff:</td>
<td><input name="Betreff" size="20" type="text"></td>
<td colspan="2"></td>
</tr>
<tr>
<td>Nachricht:</td>
<td colspan="3"><textarea cols="50" name="Nachricht" rows="5"></textarea></td>
</tr>
<tr>
<td align="left" colspan="4"><input name="Send" type="submit" value="Abschicken"> <input name="Reset" type="reset" value="Löschen"></td>
</tr>
</form>
</table>
</body>
</html>
auswerten.php_____________________
<?php
$Empfaenger = "xxxxxxxx@gmx.de";
if($_REQUEST['Send'])
{
if(empty($_REQUEST['Name']) || empty($_REQUEST['Email']) || empty($_REQUEST['Nachricht']) || empty($_REQUEST['Betreff'])))
{
header("location:bitte.html");
}
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 = "Kontaktformular ";
mail($Empfaenger, $Mailbetreff, $Mailnachricht);
header("location:danke.html");
}
}
else
{
header("location:danke.html");
}
?>
|
|
|
|
|
Snifferdog
Dabei seit: 08.03.2007
Ort: Düsseldorf
Alter: 35
Geschlecht:
|
Verfasst Di 21.07.2009 08:31
Titel
|
|
|
Ohne jetzt groß drüber zugucken.
Hast du deine Fehlermeldungen bei PHP deaktiviert?
Wenn ja schalte sie mal an. Könnte sein, dass der Header schon gesendet ist bis du zu dem Punkt kommst wo weitergeleitet werden soll. Dann passiert da natürlich nix mehr.
Gruß
Edit: Und du solltest dich mal mit der Sicherheit von PHP Formularen beschäftigen.
Zuletzt bearbeitet von Snifferdog am Di 21.07.2009 08:32, insgesamt 1-mal bearbeitet
|
|
|
|
|
Anzeige
|
|
|
sahnemuh
Dabei seit: 19.06.2003
Ort: /dev/null
Alter: 42
Geschlecht:
|
Verfasst Di 21.07.2009 08:38
Titel
|
|
|
Code: | if(empty($_REQUEST['Name']) || empty($_REQUEST['Email']) || empty($_REQUEST['Nachricht']) || empty($_REQUEST['Betreff']))) |
->
Code: | if(empty($_REQUEST['Name']) || empty($_REQUEST['Email']) || empty($_REQUEST['Nachricht']) || empty($_REQUEST['Betreff'])) |
da ist schon mal ne klammer zu viel.
€:
noch mal nachgesehen - header:location erwartet eine absolute url.
versuch's mal so:
Code: | <?php
$Empfaenger = "xxxx@xxx.de";
$absoluteURL = str_ireplace('absenden.php','',$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI']);
if($_REQUEST['Send']) {
if(empty($_REQUEST['Name']) || empty($_REQUEST['Email']) || empty($_REQUEST['Nachricht']) || empty($_REQUEST['Betreff'])) {
header("location:" . $absoluteURL . "bitte.html");
} 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 = "Kontaktformular ";
mail($Empfaenger, $Mailbetreff, $Mailnachricht);
header("location:" . $absoluteURL . "danke.html");
}
} else {
header("location:" . $absoluteURL . "danke.html");
}
?> |
Zuletzt bearbeitet von sahnemuh am Di 21.07.2009 09:00, insgesamt 1-mal bearbeitet
|
|
|
|
|
ChouGood
Threadersteller
Dabei seit: 27.11.2006
Ort: -
Alter: -
Geschlecht:
|
Verfasst Di 21.07.2009 09:17
Titel
|
|
|
schonmal vielen Dank...
was mach ich mit "absenden.php" diese datei habe ich garnicht!?
was genau muss ich ersetzen?
sorry bin echt neu was php angeht!
vieieieieielen Dank!!!
|
|
|
|
|
Kash
Dabei seit: 07.11.2002
Ort: Schopfheim
Alter: 41
Geschlecht:
|
Verfasst Di 21.07.2009 09:28
Titel
|
|
|
absenden.php wertet die formulareingaben aus und versendet diese per Mail und leitet dich auf danke.html weiter bei erfolgreichem mailversandt
ist das PHP Script bei dir im Formularfile selbst?
Zuletzt bearbeitet von Kash am Di 21.07.2009 09:29, insgesamt 1-mal bearbeitet
|
|
|
|
|
sahnemuh
Dabei seit: 19.06.2003
Ort: /dev/null
Alter: 42
Geschlecht:
|
Verfasst Di 21.07.2009 09:34
Titel
|
|
|
hups.
auswerten.php sollte es natürlich heißen.
my bad!
@kash:
nein, s.o. er hat das formular in einer html und die verarbeitung in einer seperaten (auswerten.php) datei.
€:
hier also noch mal komplett:
hups.
auswerten.php sollte es natürlich heißen.
my bad!
@kash:
nein, s.o. er hat das formular in einer html und die verarbeitung in einer seperaten (auswerten.php) datei.
€:
hier also noch mal komplett:
HTML
Code: | <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>Unbenanntes Dokument</title>
</head>
<body>
<table border="0" cellpadding="1" cellspacing="2">
<form action="auswerten.php" method="post">
<tr>
<td width="62">Name:</td>
<td width="141"><input name="Name" size="20" type="text"></td>
<td width="50">Telefon:</td>
<td width="120"><input name="Telefon" size="20" type="text"></td>
</tr>
<tr>
<td>eMail:</td>
<td><input name="Email" size="20" type="text"></td>
<td>Stadt:</td>
<td><input name="Stadt" size="20" type="text"></td>
</tr>
<tr>
<td>Betreff:</td>
<td><input name="Betreff" size="20" type="text"></td>
<td colspan="2"></td>
</tr>
<tr>
<td>Nachricht:</td>
<td colspan="3"><textarea cols="50" name="Nachricht" rows="5"></textarea></td>
</tr>
<tr>
<td align="left" colspan="4"><input name="Send" type="submit" value="Abschicken"> <input name="Reset" type="reset" value="Löschen"></td>
</tr>
</form>
</table>
</body>
</html> |
auswerten.php
Code: |
<?php
$Empfaenger = "xxxx@xxx.de";
$absoluteURL = str_ireplace('auswerten.php','',$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI']);
if($_REQUEST['Send']) {
if(empty($_REQUEST['Name']) || empty($_REQUEST['Email']) || empty($_REQUEST['Nachricht']) || empty($_REQUEST['Betreff'])) {
header("location:" . $absoluteURL . "bitte.html");
} 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 = "Kontaktformular ";
mail($Empfaenger, $Mailbetreff, $Mailnachricht);
header("location:" . $absoluteURL . "danke.html");
}
} else {
header("location:" . $absoluteURL . "danke.html");
}
?>
| [/code]
Zuletzt bearbeitet von sahnemuh am Di 21.07.2009 09:39, insgesamt 2-mal bearbeitet
|
|
|
|
|
ChouGood
Threadersteller
Dabei seit: 27.11.2006
Ort: -
Alter: -
Geschlecht:
|
Verfasst Di 21.07.2009 09:36
Titel
|
|
|
Also,
ich habe 2 Dateien:
- zum einen die Kontakt.html
- und zum anderen die auswerten.php
was genau muss ich jetzt in die absenden.php eintragen und welche Teile der auswerten.php werden ersetzt...
Danke!?
|
|
|
|
|
ChouGood
Threadersteller
Dabei seit: 27.11.2006
Ort: -
Alter: -
Geschlecht:
|
Verfasst Di 21.07.2009 09:41
Titel
|
|
|
hi nochmal...
wenn ich die Nachricht jetzt abschicke, spuckt er mir eine komische url aus. komisch weil doppelt. ca. so:
http://www.xxx.de/123test123/www.xxx.de/123test123/danke.html
geht dann natürlich nicht :(
was muss ich in der auswerten.php ersetzen. Könnte mir jemand ein Beispiel geben?
DANKDANKEDANKE!!!!
|
|
|
|
|
|
|
|
Ähnliche Themen |
Kontaktformular mit PHP
Kontaktformular im IE
PHP Kontaktformular
PHP Kontaktformular
Kontaktformular
PHP-Kontaktformular
|
|