Variablen lassen sich nicht per POST übergeben
Marcus
- php
0 zaphod19840 EKKi- https
Hallo,
ich versuche aus dem folgenden Formular Daten an das Script create2.php zu senden, leider funktioniert dies nicht:
<form class="content" action="./benutzer/create2.php" method="POST" name="user" id="user" enctype="text/plain">
<div class="content_left">
<p class="item_left">Benutzername (Login):</p>
<p class="item_left">Passwort:</p>
<p class="item_left">Recht: Lesen</p>
<p class="item_left">Recht: Schreiben</p>
</div>
<div class="content\_left">
<input class="user\_left" type="text" name="login" size="30" accept="text/plain" align="left" id="login"><br/>
<input class="user\_left" type="password" name="pwd" size="30" id="pwd"><br/>
<input class="user\_left" type="checkbox" name="read" size="10" id="read" value="Y"><br/>
<input class="user\_left" type="checkbox" name="write" size="10" id="write" value="Y"><br/>
<input class="login" type="submit" name="formaction" value="Anlegen" size="40">
<input class="login" type="reset" name="formaction2" value="Abbrechen" size="40">
</div>
</form>
Die Datei create2.php hat folgenden Aufbau:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
</head>
<body id="main">
<?php
echo "---";
$query_string = "";
if ($_POST) {
$kv = array();
foreach ($_POST as $key => $value) {
$kv[] = "$key=$value";
}
$query_string = join("&",$kv);
echo "<hr>";
}
else {
$query_string = $_SERVER['QUERY_STRING'];
echo "<br>";
}
echo $query_string;
echo "<br>";
echo "<hr>";
?>
</body>
</html>
Wird in der ersten Datei die Methode POST (wie dargesetellt) eingesetzt sind die Variablen nicht vorhanden. Auch ein phpinfo() liefert keine Variablen.
Stelle ich dagegen beide Scripte auf Methode GET um, gehts.
Woran kann das liegen und wie bekomme ich es mit POST zum laufen?
Viele Grüße
Marcus
»»[...] enctype="text/plain">
Mahlzeit Marcus,
<form class="content" action="./benutzer/create2.php" method="POST" name="user" id="user" enctype="text/plain">
Wie kommst Du auf die Idee, "text/plain" wäre ein geeigneter MIME-Typ für per POST versendete Formulare?
Lasse es doch einfach bei "application/x-www-form-urlencoded" oder - noch einfacher - lasse das Attribut einfach weg ...
MfG,
EKKi
Wie kommst Du auf die Idee, "text/plain" wäre ein geeigneter MIME-Typ für per POST versendete Formulare?
Lasse es doch einfach bei "application/x-www-form-urlencoded" oder - noch einfacher - lasse das Attribut einfach weg ...
Hallo EKKi,
ich habe mir vieles aus diversen Seiten zusammengesucht, so kam sicher auch der MIME-Typ hinein.
Ohne enctype geht es.
Danke
Viele Grüße
Ohne enctype geht es.
Jein - es geht mit dem richtigen enctype - wenn du das Attribut weglässt, wird automatisch 'application/x-www-form-urlencoded' verwandt ;)