Post-Variablen leer?
Jan
- php
Hallo Leute!
Ich geb's gleich mal zu, hab schon seit Jahren kein PHP mehr angewendet. Zum ersten Mal auch auf dem neuen Server (HostEurope).
Eigentlich sollte es ein total simples Formular sein, doch es funktioniert nicht.
Habe folgendes Formular:
<form name="Formular" action="formsend.php" method="post" enctype="text/plain" onSubmit="return chkFormular()">
<table width="600" cellpadding="5" cellspacing="5" border="0">
<tr>
<td width="150"><b>Name:</b></td>
<td width="450"><input size="50" type="text" name="Name" value=""></td>
</tr>
<tr>
<td width="150"><b>Strasse:</b></td>
<td width="450"><input size="50" type="text" name="Strasse" value=""></td>
</tr>
<tr>
<td width="150"><b>Plz/Ort:</b></td>
<td width="450"><input size="50" type="text" name="Plz_Ort" value=""></td>
</tr>
<tr>
<td width="150"><b>Land:</b></td>
<td width="450"><input size="50" type="text" name="Land" value=""></td>
</tr>
<tr>
<td width="150"><b>eMail:</b></td>
<td width="450"><input size="50" type="text" name="eMail" value=""></td>
</tr>
<tr>
<td width="150"><b>Ich bestelle:</b></td>
<td width="450"><input size="4" type="text" name="Buch" value="0"> Bücher (€ 22,--, inkl. P&V)<br>
<input size="4" type="text" name="CD" value="0"> CDs (€ 7,--, inkl. P&V)</td>
</tr>
<tr>
<td colspan="2" align="center"><input type="submit" size="25" value="Abschicken"> <input type="Reset" size="25" value="Reset"></td>
</tr>
</table></form>
Dazu kommt folgender PHP-Code zum Einsatz:
<?
echo $_POST["Name"];
$Name = $_POST['Name'];
$Strasse = $_POST["Strasse"];
$Plz_Ort = $_POST["Plz_Ort"];
$Land = $_POST["Land"];
$eMail = $_POST["eMail"];
$Buch = $_POST["Buch"];
$CD = $_POST["CD"];
$to = "jan@sosti.org";
$subject = "Bestellung Buch/CD";
$body = "Name: ".$Name."\nStraße: ".$Strasse."\nPlz/Ort: ".$Plz_Ort."\nLand: ".$Land."\neMail: ".$eMail."\nBücher: ".$Buch."\nCDs: ".$CD."\n";
$header = "From: ".$Name." <".$eMail.">\n";
mail($to,$subject,$body,$header);
?>
Noch ein Hinweis zum PHP-Code: Ich hatte anfangs die Variablen innerhalb der Anführungszeihen, also z.B. $header = "From: $Name <$eMail>";
Habs dann nur abgeändert, weil ich dachte es könnte daran liegen. Hab es auch schon mit Get probiert, aber auch da bringt er mir nur leere Werte ;o(
Das Mail an sich wird aber verschickt.
Weiß jemand woran es liegen könnte?
Gruß, Jan
Laß' Dir mal phpinfo() ausgeben, das könnte recht informativ sein. Ansonsten fällt mir auf, dass Du das Subject nicht korrekt kodierst und Dein HTML-Quelltext kleinere Fehler (unkodierte Und-Zeichen/Umlaute) enthält, von mangelnder Semantik ganz zu schweigen (Die Beschreibungen für input-Elemente nennt man label).
Gruß, LX
Laß' Dir mal phpinfo() ausgeben, das könnte recht informativ sein. Ansonsten fällt mir auf, dass Du das Subject nicht korrekt kodierst und Dein HTML-Quelltext kleinere Fehler (unkodierte Und-Zeichen/Umlaute) enthält, von mangelnder Semantik ganz zu schweigen (Die Beschreibungen für input-Elemente nennt man label).
Ich weiß das vor allem bei den Umlauten die Kodierungen fehlen, was mir aber ehrlich gesagt egal ist, es handelt sich hierbei nur um eine kleine 0815-Page, die ich nur unter Protest gemacht hab *ggg*
Laut der phpinfo ist die variables_order bei "EGPCS", also das P steht ja für Post, demzufolge sollte hier kein Fehler liegen. Aber woran kann es noch liegen, dass die Post-Variablen leer sind?
Gruß, Jan
Hi,
<form name="Formular" action="formsend.php" method="post" enctype="text/plain"
Lass das enctype-Attribut weg.
MfG ChrisB
Hi,
<form name="Formular" action="formsend.php" method="post" enctype="text/plain"
Lass das enctype-Attribut weg.
MfG ChrisB
Ich bin echt umnachtet, genau das wars, danke! ;o)
Gruß, Jan
Hello,
<form name="Formular" action="formsend.php" method="post" enctype="text/plain"
Lass das enctype-Attribut weg.
Hätte ich jetzt nicht gedacht...
Die erste Idee war zwar auch "multipart/form-data" aber dann habe ich geschaut, ob ein Fileupload stattfindet und weil keiner vorhande ist, dachte ich, dann kann es am Ecryption Type doch nicht liegen...
Was ist denn nun Sache?
Ich war immer der Meinung, dass weggelassenes ectype-Attribut == text/plain wäre
Liebe Grüße aus Syburg bei Dortmund
Tom vom Berg
Hi,
Ich war immer der Meinung, dass weggelassenes ectype-Attribut == text/plain wäre
"Der Standardwert für dieses Attribut ist »application/x-www-form-urlencoded«."
Gruß,
Andreas.
Hello,
Ich war immer der Meinung, dass weggelassenes ectype-Attribut == text/plain wäre
"Der Standardwert für dieses Attribut ist »application/x-www-form-urlencoded«."
Ich danke Dir für den Link,
Dann ist er ja klar, dass das nicht einfach so funktioniert.
Liebe Grüße aus Syburg bei Dortmund
Tom vom Berg
Hello,
"Der Standardwert für dieses Attribut ist »application/x-www-form-urlencoded«."
Ich danke Dir für den Link,
Dann ist er ja klar, dass das nicht einfach so funktioniert.
Steht dem eigentlich etwas entgegen, IMMER multipart/form-data zu verwenden, wenn es nicht einen ganz bestimmten Grund für eine andere Codierung gibt?
Liebe Grüße aus Syburg bei Dortmund
Tom vom Berg