Marcus: Variablen lassen sich nicht per POST übergeben

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

  1. »»[...] enctype="text/plain">

    --
    for your security, this text has been encrypted by ROT13 twice.
  2. 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

    --
    sh:( fo:| ch:? rl:( br:> n4:~ ie:% mo:} va:) de:] zu:) fl:{ ss:) ls:& js:|
    1. 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

      1. 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 ;)