471,066 Members | 1,620 Online
Bytes | Software Development & Data Engineering Community
Post +

Home Posts Topics Members FAQ

Join Bytes to post your question to a community of 471,066 software developers and data experts.

Variable passed in GET or POST array

I have finally started coding with register_globals off (crowd roars -
yeay!).

This has created a situation that I am not sure how I should handle. I
have scripts (pages) that can receive an input variable from the POST
array (initial entry) or it could be in the GET array (go back and
re-edit a form, for instance.)

In my old sloppy scripting days this was no problem, as I had
register_globals on and would merely access the the input variable by
it's local name (whether it was POST or GET made no difference).

What's the best way to handle this situation where I am not sure if the
input variable is in the GET array or the POST array? My guess is to
test for the presence of the variable (isset, != '') in either array and
then copy it to a local variable from that array.

Is that the best, only, or most efficient way to handle that?

--
*****************************
Chuck Anderson • Boulder, CO
http://www.CycleTourist.com
Integrity is obvious.
The lack of it is common.
*****************************
Jan 19 '06 #1
5 5232


Chuck Anderson wrote:
I have finally started coding with register_globals off (crowd roars -
yeay!).

This has created a situation that I am not sure how I should handle. I
have scripts (pages) that can receive an input variable from the POST
array (initial entry) or it could be in the GET array (go back and
re-edit a form, for instance.)

In my old sloppy scripting days this was no problem, as I had
register_globals on and would merely access the the input variable by
it's local name (whether it was POST or GET made no difference).

What's the best way to handle this situation where I am not sure if the
input variable is in the GET array or the POST array? My guess is to
test for the presence of the variable (isset, != '') in either array and
then copy it to a local variable from that array.

Is that the best, only, or most efficient way to handle that?

--
*****************************
Chuck Anderson · Boulder, CO
http://www.CycleTourist.com
Integrity is obvious.
The lack of it is common.
*****************************

variables will be in the format:

$_POST['variablename'] or $_GET['variablename']

When troubleshooting with PHP it is very easy to insert a phpinfo();
command in your script and you can see ALL of the possible variables
and formats of those variables.

Michael Austin
Consultant

Jan 19 '06 #2
"Chuck Anderson" <we************@seemy.sig> kirjoitti
viestissä:U7********************@comcast.com...
I have finally started coding with register_globals off (crowd roars -
yeay!).

This has created a situation that I am not sure how I should handle. I
have scripts (pages) that can receive an input variable from the POST
array (initial entry) or it could be in the GET array (go back and re-edit
a form, for instance.)

In my old sloppy scripting days this was no problem, as I had
register_globals on and would merely access the the input variable by it's
local name (whether it was POST or GET made no difference).

What's the best way to handle this situation where I am not sure if the
input variable is in the GET array or the POST array? My guess is to test
for the presence of the variable (isset, != '') in either array and then
copy it to a local variable from that array.

Is that the best, only, or most efficient way to handle that?


$_REQUEST <-- it contains both $_GET and $_POST variables :)

--
SETI @ Home - Donate your cpu's idle time to science.
Further reading at <http://setiweb.ssl.berkeley.edu/>
Kimmo Laine <an*******************@gmail.com.NOSPAM.invalid>
Jan 19 '06 #3
Chuck Anderson wrote:
I have finally started coding with register_globals off (crowd roars -
yeay!).
YEAY!
This has created a situation that I am not sure how I should handle. I
have scripts (pages) that can receive an input variable from the POST
array (initial entry) or it could be in the GET array (go back and
re-edit a form, for instance.)
Why is it not POST again?
In my old sloppy scripting days this was no problem, as I had
register_globals on and would merely access the the input variable by
it's local name (whether it was POST or GET made no difference).

What's the best way to handle this situation where I am not sure if the
input variable is in the GET array or the POST array? My guess is to
test for the presence of the variable (isset, != '') in either array and
then copy it to a local variable from that array.
Just know what you want and use it;
if you want something in the POSTed data, use $_POST
if you want something passed in the URL, use $_GET
Is that the best, only, or most efficient way to handle that?


As Kimmo said you can use the $_REQUEST array which is contains
(almost (*)) all the $_GETs and $_POSTs.

(*) The $_REQUEST array will *not* have duplicate keys from $_GET,
$_POST, and $_COOKIE. There's a configuration value that specifies what
order is followed when PHP builds the $_REQUEST array (default is GPC,
meaning GET, POST, COOKIE).

If you have
$_GET['id'] = 4;
$_POST['id'] = 14;
$_COOKIE['id'] = 77;

$_REQUEST['id'] will be 77.

I never needed to use $_REQUEST and I always know whether the user input
comes from $_GET, $_POST, or $_COOKIE.

--
If you're posting through Google read <http://cfaj.freeshell.org/google>
Jan 19 '06 #4
Kimmo Laine wrote:
"Chuck Anderson" <we************@seemy.sig> kirjoitti
viestissä:U7********************@comcast.com...

I have finally started coding with register_globals off (crowd roars -
yeay!).

This has created a situation that I am not sure how I should handle. I
have scripts (pages) that can receive an input variable from the POST
array (initial entry) or it could be in the GET array (go back and re-edit
a form, for instance.)

In my old sloppy scripting days this was no problem, as I had
register_globals on and would merely access the the input variable by it's
local name (whether it was POST or GET made no difference).

What's the best way to handle this situation where I am not sure if the
input variable is in the GET array or the POST array? My guess is to test
for the presence of the variable (isset, != '') in either array and then
copy it to a local variable from that array.

Is that the best, only, or most efficient way to handle that?


$_REQUEST <-- it contains both $_GET and $_POST variables :)

Well, heck, that's almost too easy. Thanks.

--
*****************************
Chuck Anderson • Boulder, CO
http://www.CycleTourist.com
Integrity is obvious.
The lack of it is common.
*****************************
Jan 20 '06 #5
Pedro Graca wrote:
Chuck Anderson wrote:

I have finally started coding with register_globals off (crowd roars -
yeay!).


YEAY!
This has created a situation that I am not sure how I should handle. I
have scripts (pages) that can receive an input variable from the POST
array (initial entry) or it could be in the GET array (go back and
re-edit a form, for instance.)


Why is it not POST again?

I'm not definitely sure. I scripted these pages a couple of years ago. I
think it was to provide a look and feel for the user interface I
preferred. A form button to get there to start with and then for some
reason a regular link seemed more appropriate for getting back to the
page. I probably also reused the page/script, but without a form.
Is that the best, only, or most efficient way to handle that?


As Kimmo said you can use the $_REQUEST array which is contains
(almost (*)) all the $_GETs and $_POSTs.

(*) The $_REQUEST array will *not* have duplicate keys from $_GET,
$_POST, and $_COOKIE. There's a configuration value that specifies what
order is followed when PHP builds the $_REQUEST array (default is GPC,
meaning GET, POST, COOKIE).

If you have
$_GET['id'] = 4;
$_POST['id'] = 14;
$_COOKIE['id'] = 77;

$_REQUEST['id'] will be 77.

I never needed to use $_REQUEST and I always know whether the user input
comes from $_GET, $_POST, or $_COOKIE.

Thanks for that extra bit of info. The correct location will be either
POST or GET. They will never both be used.

--
*****************************
Chuck Anderson • Boulder, CO
http://www.CycleTourist.com
Integrity is obvious.
The lack of it is common.
*****************************
Jan 20 '06 #6

This discussion thread is closed

Replies have been disabled for this discussion.

Similar topics

2 posts views Thread by Randell D. | last post: by
10 posts views Thread by Jack | last post: by
23 posts views Thread by Russ Chinoy | last post: by
7 posts views Thread by icosahedron | last post: by
9 posts views Thread by Animesh K | last post: by
reply views Thread by leo001 | last post: by

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.