POST Request funktioniert nicht - GET geht

Alles, was PHP betrifft, kann hier besprochen werden.

POST Request funktioniert nicht - GET geht

Postby pgillet » 13. January 2006 11:29

Hallo,

ich habe mit meiner XAMPP Installation sowohl unter PHP 5 als auch unter PHP 4 das Problem, daß bei Formularen POST-Requests nicht funktionieren.

GET funktioniert einwandfrei.

Hat irgendjemand eine Idee woran das liegen könnte ?

Die httpd.conf habe ich außer einigen zusätzlichen Alias-Einträgen nicht verändert.

Hier ist das Formular form.php das ich zum testen
ins htdocs root gelegt habe :

**********************************************************

<html>
<head>
<meta http-equiv="Content-Language" content="en" />
<meta name="GENERATOR" content="PHPEclipse 1.0" />
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>TEST POST</title>
</head>
<body bgcolor="#FFFFFF" text="#000000" link="#FF9966" vlink="#FF9966" alink="#FFCC99">
<pre><?php
print_r($_POST);
?></pre>
<form action="<?php print $SERVER['PHP_SELF']; ?>" method="post" enctype="text/plain">
<input type="text" name="egon" value="<?php print $_POST['egon']; ?>" size="40" maxlength="40"/>
<input type="submit" name="hugo" value="abschicken"/>
</form>
</body>
</html>

**********************************************************

Ersetzt man POST durch GET funktioniert alles tadellos.

Das Server-Log zeigt, daß der POST-Request ausgeführt wurde :
127.0.0.1 - - [13/Jan/2006:11:07:42 +0100] "GET /form.php HTTP/1.1" 200 541 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; de; rv:1.8) Gecko/20051111 Firefox/1.5"
127.0.0.1 - - [13/Jan/2006:11:07:46 +0100] "POST /form.php HTTP/1.1" 200 541 "http://localhost/form.php" "Mozilla/5.0 (Windows; U; Windows NT 5.1; de; rv:1.8) Gecko/20051111 Firefox/1.5"
127.0.0.1 - - [13/Jan/2006:11:24:03 +0100] "GET /form.php HTTP/1.1" 200 541 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; .NET CLR 1.1.4322)"
127.0.0.1 - - [13/Jan/2006:11:24:09 +0100] "POST /form.php HTTP/1.1" 200 541 "http://localhost/form.php" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; .NET CLR 1.1.4322)"


Ich nutze folgende Version vom XAMPP :

ApacheFriends XAMPP (basic package) version 1.5.0-pl1

+ Apache 2.0.55
+ MySQL 5.0.15 + Bug #13783
+ PHP 5.0.5 + PHP 4.4.1-pl1 + PEAR
+ eAccelerator 0.9.4-dev
+ PHP-Switch win32 1.0 (from Apachefriends, use the "php-switch.bat")
+ XAMPP Control Version 2.1 from www.nat32.com
+ XAMPP Security 1.0
+ SQLite 2.8.15
+ OpenSSL 0.9.8a
+ phpMyAdmin 2.6.4-pl3
+ ADODB 4.65
+ Mercury Mail Transport System v4.01b
+ FileZilla FTP Server 0.9.10a
+ Webalizer 2.01-10
+ Zend Optimizer 2.5.10a

Bin für jede Hilfe dankbar !
pgillet
 
Posts: 2
Joined: 13. January 2006 11:12

Postby Wiedmann » 13. January 2006 11:40

Wirklich auffallen tut mir nur eines:
Bei diesem Formular musst du keinen "enctype" angeben. Und wenn du schon einen angeben willst, dann bitte den korrekten "application/x-www-form-urlencoded".
Wiedmann
AF Moderator
 
Posts: 17106
Joined: 01. February 2004 12:38
Location: Stuttgart / Germany

Postby pgillet » 13. January 2006 11:58

Vielen Dank,

daran lag es - enctype gelöscht :

<form action="<?php print $SERVER['PHP_SELF']; ?>" method="post">

und schon geht auch POST !

Falls noch jemand mit eclipse entwickeln sollte :
Den entype hat die Syntax-Hilfe von PHPEclipse 1.0 vorgeschlagen.

Viele Grüße

Peter Gillet :D
pgillet
 
Posts: 2
Joined: 13. January 2006 11:12

Re: POST Request funktioniert nicht - GET geht

Postby Hanspeter Thöni » 13. January 2006 11:59

pgillet wrote: <?php print $SERVER['PHP_SELF']


Habs kurz ausprobiert. Liegt tatsächlich am enctype.

Aber Achtung noch ein Fehler: Variable $SERVER ist ungültig, die heisst $_SERVER

Edit: Hoppla, hat sich überschnitten
Gruss Hanspeter
User avatar
Hanspeter Thöni
 
Posts: 233
Joined: 17. August 2004 10:29
Location: Schweiz


Return to PHP

Who is online

Users browsing this forum: No registered users and 3 guests