ID: 17897 Comment by: will at muppetmasters dot com Reported By: hofmann at isl dot org Status: Bogus Bug Type: Apache2 related Operating System: Linux PHP Version: 4.2.1 New Comment:
air01 seems to be correct. the $_POST built-in variable / superglobal / whatever you want to call it doesn't work properly with register_globals set to 'off', which is ironic since it is recommended for good practice that you turn it off. advice is to leave it on until they fix this problem....very irritating! :-) Previous Comments: ------------------------------------------------------------------------ [2003-06-16 15:23:50] sbeam at syxyz dot net to "air01 at gmx dot de" you will notice if you read the original bug report it is about $_POST and therefore has nothing to do with register_globals. confirmed that BorisATCrazySnowBoarder.com's solution of adding AddType application/x-httpd-php .php to the httpd.conf file works. This is on a RedHat 9 system (with the stock Apache 2.0.40 rpm and PHP4.2.2), which does not come with that directive by default. ------------------------------------------------------------------------ [2003-02-04 05:59:50] dave at nicedayin dot co dot uk just to say thanks, this thread has just solved a problem with an ASP based system I am writing. Dreamweaver MX places form actions in as script sources by default, and so does not always put full url in the action field. As such all my post variables dissapeared, then I found this form, hard coded the action page and it worked ! ------------------------------------------------------------------------ [2003-01-03 07:40:16] air01 at gmx dot de Following extraction helped me to solve the problem that, variables are missing in the *.php after submition. >>Hi there... The problem is actually that in PHP 4.2, Register Globals is automatically defaulted to OFF. This means that variables that were normally in the global space such as GET and POST variables are no longer in the global space by default. PHP Announcement: http://www.php.net/release_4_2_0.php You can still force the old default behavior by changing the php.ini file and set the value for register_globals to "On". This will allow you to access the variables as they are named in the forms Documentation: http://www.php.net/manual/en/configuration.php#ini.register-globals << By the way, I found this Information on expert-exchange.com http://www.experts-exchange.com/Web/Web_Languages/PHP/Q_20293768.html My configuration: PHP 4.2.3 Apache 2.0.43 Windows 2k ------------------------------------------------------------------------ [2002-12-13 21:25:05] donny at net-yan dot com I think the problem is PHP4. Because I installed PHP on both Apache and IIS of W2k. I got the same problem. The following are the test program (test.php). <html> <head> <title>TEST</title> </head> <body> <? print_r($_POST); print_r($HTTP_POST_VARS); ?> <form action=test.php method=post> <input type=text id=ftext value=123></input> <br><br> <input type=submit></input> </form> </body> </html> I always get empty Arrays. I never imagine that such simple function have bugs in PHP, or I know to little about the PHP settings! Who can HELP!!! My system cannot progress!!! ------------------------------------------------------------------------ [2002-11-18 03:03:47] hofmann at isl dot org ok the solution to my problem is simple - I am using AddOutputFilter PHP;INCLUDES .php so the post variables are missing - thats because you need also to set AddInputFilter PHP .php otherwise Apache2 will not forward the POST vars! ------------------------------------------------------------------------ The remainder of the comments for this report are too long. To view the rest of the comments, please view the bug report online at http://bugs.php.net/17897 -- Edit this bug report at http://bugs.php.net/?id=17897&edit=1