[PHP5] POST funktioniert nicht!

linchris

Cadet 4th Year
Registriert
Okt. 2004
Beiträge
72
Hi Leute,

ich habe folgendes Script (test.php):
Code:
<html>
  <head>
    <title>Test</title>
  </head>
  <body>
    <?php 
      echo print_r($_POST); 
    ?>
    <form action="<?php echo "./test.php" ?>" method="POST" enctype="text/plain">
      <input type="text" name="test" size="30">
      <input type="submit" value="OK">
    </form>
  </body>
</html>

Das Script sollte funktionieren. Das einzige was ich duch den "print_r"-Befehl ausgegeben bekomme, ist und bleibt aber:
"Array() 1"

Man sollte ja ungefähr sowas nach klicken des OK-Buttons bekommen:
"Array([test] => difjsdhfiuo)"

Hab bei mir aufm PC Apache/2.0.54 + PHP5 installiert. Ich denk mal das leigt an der PHP5 Konfiguration. Bin jetzt schon 3 Stunden am Lesen und Ausprobiern, klappt aber nicht.

Hilfe! Bitte!
 
Uups,

ja das "echo" sollte man echt weglassen, bringt aber trotzdem nichts!

Das $_POST-Array bleibt leer.
 
<html>
<head>
<title>Test</title>
</head>
<body>
<?php
foreach ( $_POST as $key => $value )
{
echo "\$_POST['".$key."'] = \"".$value."\";<br />";
}
?>
<?php
foreach ( $HTTP_POST_VARS as $key => $value )
{
echo "\$HTTP_POST_VARS['".$key."'] = \"".$value."\";<br />";
}
?>
<form action="test.php" method="post">
<input type="text" name="test" size="30">
<input type="submit" value="OK">
</form>
</body>
</html>
 
Jo danke für die Mühe und das Script, aber ich habe das Problem jetzt anders gelöst.

Es lag an PHP5! Ich hab jetzt PHP4 installiert und es läuft alles wunderbar, sogar
PHP:
print_r($_POST);
funktioniert jetzt.

Nochmal danke für die schnellen Antworten.
 
Hallo,

es funktioniert auch wunderbar mit PHP5. "enctype="text/plain" ist der Fehler. Dadurch ist für PHP die Erfassung von Variablen und deren Werten nicht mehr möglich. Es ist lediglich für das Verschicken von E-Mails aus Formularen heraus gedacht.

SELFHTML schrieb:
Außerdem sollten Sie bei E-Mail-Empfang von Formulardaten im einleitenden <form>-Tag enctype="text/plain" mit angeben. Denn Formulardaten sind normalerweise nach einem Schema kodiert, das für Menschen keine Freude zu lesen ist.

Um Variablen weiter zu reichen lässt man "enctype" einfach weg. Laut Spezifikation wird dann "application/x-www-form-urlencoded" benutzt.
Möchte man Dateien mit einem Formular übermitteln benutzt man "multipart/form-data".

W3C Spezifikation

MfG
Alex
 
Mal 'ne blöde Frage:
Wird 'submit' auch im $_POST Array mit übergeben?
Nee, oder?
 
Nicht wenn du dem submit button keinen namen gibst ;) Einen Value für das Label darf er haben
 
Ja schon mit Name und Value Attribut, bloss wollt' sich das 'submit' nicht abfangen lassen?!
 
Hallo,

im Zweifelsfall einfach so:

<input type="hidden" name="submitted" value="true" />

MfG
Alex
 
Zurück
Oben