Prev: SSL Timeout Issue with fopen, fsockopen, file_get_contents, etc
Next: required return on pecl install pam
From: Adam Richardson on 18 Aug 2010 16:58 On Wed, Aug 18, 2010 at 4:55 PM, Adam Richardson <simpleshot(a)gmail.com>wrote: > On Wed, Aug 18, 2010 at 4:49 PM, Ashley Sheridan <ash(a)ashleysheridan.co.uk > > wrote: > >> On Wed, 2010-08-18 at 13:45 -0700, Brian Dunning wrote: >> >> > I'm trying to write a VERY simple script that does nothing but store all >> the submitted GET and POST vars in a string and echo it out. >> > >> > $response = print_r($_REQUEST, true); >> > echo $response; >> > >> > The problem is it only shows GET vars. I've tried $POST instead of >> $_REQUEST and it always gives an empty array. I've got it on two different >> servers, and we have three guys trying various methods of submitting forms >> to it, trying to eliminate all potential problems, like the possibility that >> the request might not actually have any POST vars. I think we've safely >> eliminated these possibilities. >> > >> > Can anyone see a reason why the above should not see POST vars? Is there >> some security setting I don't know about? >> >> >> Is there any code before the print_r() call, i.e. code that might be >> setting it to an empty array? >> >> If not, then are you sure your form is definitely sending post >> variables? It sounds a stupid question, but a small typo could be >> sending the data as GET by accident. Firefox has a useful extension >> called Firebug which might be able to show you the data being sent to >> the browser. If you really need to bring out the big guns, then >> Wireshark will show all the network traffic, including that sent from >> your form to the server. >> >> Thanks, >> Ash >> http://www.ashleysheridan.co.uk >> >> >> > Check php.ini for this setting: > variables_order > > > -- > Nephtali: PHP web framework that functions beautifully > http://nephtaliproject.com > And I suppose post_max_size could cause issues, too. -- Nephtali: PHP web framework that functions beautifully http://nephtaliproject.com
From: Ashley Sheridan on 18 Aug 2010 16:58 On Wed, 2010-08-18 at 16:55 -0400, Adam Richardson wrote: > On Wed, Aug 18, 2010 at 4:49 PM, Ashley Sheridan > <ash(a)ashleysheridan.co.uk>wrote: > > > On Wed, 2010-08-18 at 13:45 -0700, Brian Dunning wrote: > > > > > I'm trying to write a VERY simple script that does nothing but store all > > the submitted GET and POST vars in a string and echo it out. > > > > > > $response = print_r($_REQUEST, true); > > > echo $response; > > > > > > The problem is it only shows GET vars. I've tried $POST instead of > > $_REQUEST and it always gives an empty array. I've got it on two different > > servers, and we have three guys trying various methods of submitting forms > > to it, trying to eliminate all potential problems, like the possibility that > > the request might not actually have any POST vars. I think we've safely > > eliminated these possibilities. > > > > > > Can anyone see a reason why the above should not see POST vars? Is there > > some security setting I don't know about? > > > > > > Is there any code before the print_r() call, i.e. code that might be > > setting it to an empty array? > > > > If not, then are you sure your form is definitely sending post > > variables? It sounds a stupid question, but a small typo could be > > sending the data as GET by accident. Firefox has a useful extension > > called Firebug which might be able to show you the data being sent to > > the browser. If you really need to bring out the big guns, then > > Wireshark will show all the network traffic, including that sent from > > your form to the server. > > > > Thanks, > > Ash > > http://www.ashleysheridan.co.uk > > > > > > > Check php.ini for this setting: > variables_order > > If the $_POST array appears empty in a print_r() statement, then the variable order won't be the cause. It's more likely that the array is being emptied before it gets to the print_r() or it is not being sent at all. Thanks, Ash http://www.ashleysheridan.co.uk
From: chris h on 18 Aug 2010 17:01 Does $_SERVER['HTTP_METHOD'] show a GET or POST? On Wed, Aug 18, 2010 at 4:58 PM, Adam Richardson <simpleshot(a)gmail.com>wrote: > On Wed, Aug 18, 2010 at 4:55 PM, Adam Richardson <simpleshot(a)gmail.com > >wrote: > > > On Wed, Aug 18, 2010 at 4:49 PM, Ashley Sheridan < > ash(a)ashleysheridan.co.uk > > > wrote: > > > >> On Wed, 2010-08-18 at 13:45 -0700, Brian Dunning wrote: > >> > >> > I'm trying to write a VERY simple script that does nothing but store > all > >> the submitted GET and POST vars in a string and echo it out. > >> > > >> > $response = print_r($_REQUEST, true); > >> > echo $response; > >> > > >> > The problem is it only shows GET vars. I've tried $POST instead of > >> $_REQUEST and it always gives an empty array. I've got it on two > different > >> servers, and we have three guys trying various methods of submitting > forms > >> to it, trying to eliminate all potential problems, like the possibility > that > >> the request might not actually have any POST vars. I think we've safely > >> eliminated these possibilities. > >> > > >> > Can anyone see a reason why the above should not see POST vars? Is > there > >> some security setting I don't know about? > >> > >> > >> Is there any code before the print_r() call, i.e. code that might be > >> setting it to an empty array? > >> > >> If not, then are you sure your form is definitely sending post > >> variables? It sounds a stupid question, but a small typo could be > >> sending the data as GET by accident. Firefox has a useful extension > >> called Firebug which might be able to show you the data being sent to > >> the browser. If you really need to bring out the big guns, then > >> Wireshark will show all the network traffic, including that sent from > >> your form to the server. > >> > >> Thanks, > >> Ash > >> http://www.ashleysheridan.co.uk > >> > >> > >> > > Check php.ini for this setting: > > variables_order > > > > > > -- > > Nephtali: PHP web framework that functions beautifully > > http://nephtaliproject.com > > > > And I suppose post_max_size could cause issues, too. > > -- > Nephtali: PHP web framework that functions beautifully > http://nephtaliproject.com >
From: Brian Dunning on 18 Aug 2010 17:22 This was the complete code of the page (this is the POST version not the REQUEST version): <?php $response = print_r($_POST, true); echo $response; ?> Returns an empty array no matter what POST vars are sent. We fixed it by changing it to this, which I've never even heard of, but so far is working perfectly: <?php $response = file_get_contents('php://input'); echo $response; ?> I have no idea what the problem was. Thanks to everyone for your help.
From: "Daevid Vincent" on 18 Aug 2010 18:11 You've got something jacked. DO NOT proceed with your coding using this hack. Put this in a blank file named whatever_you_want.php and hit it with your web browser. --------------------------------------------------------------------------- ----- <?php if ($_POST['action'] == 'Go') print_r($_POST); ?> <form action="<?=$_SERVER['SCRIPT_NAME']?>" method="POST"> <select name="my_select"> <option value="foo">foo</option> <option value="bar">bar</option> </select> <input type="submit" value="Go" name="action" class="button submit"/> </form> --------------------------------------------------------------------------- ----- > -----Original Message----- > From: Brian Dunning [mailto:brian(a)briandunning.com] > Sent: Wednesday, August 18, 2010 2:23 PM > To: PHP-General > Subject: Re: [PHP] Can't read $_POST array > > This was the complete code of the page (this is the POST > version not the REQUEST version): > > <?php > $response = print_r($_POST, true); > echo $response; > ?> > > Returns an empty array no matter what POST vars are sent. We > fixed it by changing it to this, which I've never even heard > of, but so far is working perfectly: > > <?php > $response = file_get_contents('php://input'); > echo $response; > ?> > > I have no idea what the problem was. Thanks to everyone for your help. > > > -- > PHP General Mailing List (http://www.php.net/) > To unsubscribe, visit: http://www.php.net/unsub.php >
First
|
Prev
|
Next
|
Last
Pages: 1 2 3 Prev: SSL Timeout Issue with fopen, fsockopen, file_get_contents, etc Next: required return on pecl install pam |