Hi Everyone,
I am passing a form to a php script for further processing.
I am able to retrieve the last value set for that given form variable
using
$variable=$_REQUEST['form_variable'];
My question is, what is the Php way of retrieving all the values passed
for the same form variable?
For example, if the php script is called with a syntax like http://xxxx/get_variables.php?form_v...iable=variable
, how do I iterate through all the values that form_variable has been
set to?
Thanks and regards,
Girish 10 3647
"Girish" <gi************@gmail.comwrote in message
news:11**********************@h48g2000cwc.googlegr oups.com...
Hi Everyone,
I am passing a form to a php script for further processing.
I am able to retrieve the last value set for that given form variable
using
$variable=$_REQUEST['form_variable'];
My question is, what is the Php way of retrieving all the values passed
for the same form variable?
For example, if the php script is called with a syntax like
http://xxxx/get_variables.php?form_v...le=value2&form
_variable=variable
>
, how do I iterate through all the values that form_variable has been
set to?
Thanks and regards,
Girish
if register_globals is ON then the variables are already set by php (which,
BTW, can cause all kinds of unexpected grief when html tag names end up as
php vars).
You can test the results by doing this:
<?php
if (!empty($_GET)) { # can't use !empty($_REQUEST) as it always has
something
echo "before foreach a=".$a.",b=".$b.",c=".$c."<br />"; // if
register_globals is on these are already set
# if register_globals is OFF this will set all request vars
foreach ($_REQUEST as $key =$value){
$$key = $value;
}
echo "after foreach a=".$a.",b=".$b.",c=".$c."<br />";
}
else {
echo <<<FORM
<form method="get" action="{$_SERVER['PHP_SELF']}">
<input type="text" name="a" />
<input type="text" name="b" />
<input type="text" name="c" />
<input type="submit" />
</form>
FORM;
}
?>
but be aware that $_REQUEST has extra stuff in it.
"Girish" <gi************@gmail.comwrote in message
news:11**********************@h48g2000cwc.googlegr oups.com...
Hi Everyone,
I am passing a form to a php script for further processing.
I am able to retrieve the last value set for that given form variable
using
$variable=$_REQUEST['form_variable'];
My question is, what is the Php way of retrieving all the values passed
for the same form variable?
For example, if the php script is called with a syntax like
http://xxxx/get_variables.php?form_v...iable=variable
, how do I iterate through all the values that form_variable has been
set to?
Thanks and regards,
Girish
Hi Girish,
In the example you have given, which equates to a Get, the variables will
indeed overwrite each other with only the last value surviving, as stated by
lorento.
You can however create an array by suffixing the variable name (in the HTML
form) this
<input name='inp[0]' type='hidden' value='first value'>
<input name='inp[1]' type='hidden' value='second value'>
<input name='inp[2]' type='hidden' value='third value'>
once this is received by your PHP script the values may be retrieved :
$myArray = $_REQUEST('ip'); // note no subscripts required
$myArray['0'] will contain 'first value', $myArray['1'] the second value,
and so on
BTW Register globals should be OFF on any production machine so there is
little point in having it on in a development machine.
HTH
Ron
"Ron Barnett" <ro*@RJBarnett.co.ukwrote in message
news:451a9129.0@entanet...
BTW Register globals should be OFF on any production machine so there is
little point in having it on in a development machine.
HTH
Ron
Agreed if you have control of the server, however many shared host LAMP
servers are stuck back at PHP4.x (most likely due to cpanel having not
caught up yet), and very often have register_globals on by default.
Of course if those hosts allow .htaccess files you can then turn it off.
Ron Barnett wrote:
In the example you have given, which equates to a Get, the variables will
indeed overwrite each other with only the last value surviving, as stated by
lorento.
Hi Ron and everyone else,
Thanks for your response. Let me expand a bit on my requirement. I have
a dynamically generated form where I am now trying something similiar.
To wit:
<input name='inp[0]' type='checkbox' value='first value'>
<input name='inp[1]' type='checkbox' value='second value'>
<input name='inp[2]' type='checkbox' value='third value'>
..
..
etc
Basically, I present a user with a dynamically generated checklist and
I am trying to see all the values that he has checked.
>
once this is received by your PHP script the values may be retrieved :
$myArray = $_REQUEST('ip'); // note no subscripts required
$myArray['0'] will contain 'first value', $myArray['1'] the second value,
and so on
Doing as you have suggested, count($myArray) gives the correct number
of values ticked.
But only $myArray['0'] is set!
$myArray['1'], $myArray['2'] , ..., etc are not set!
Not to flame or anything, I AM quite surprised by how arcane processing
a checklist in php is turning out to be. :-)
Thanks again!
Girish
And this is how I have worked around this problem. Admittedly this is
not a very elegant solution, but I present it for the benefit of those
who like me fail to find a better solution and will trawl the archives
in search of this very workaround in the future. :-)
In the main form I have,
<input name='"choice0'"type="checkbox" value='"first value">
<input name='"choice1" type="checkbox" value='"second value">
<input name='"choice2" type="checkbox" value='"third value">
etc.
plus a hidden input field
<input name="displayedchoices" type="hidden" value='"3"//equal to the
number displayed.
In the processing script
$choicesDisplayed = $_REQUEST['displayedchoices'];
for($i=0; $i< $choicesDisplayed; $i++)
{
$read = 'choice'.$i;
$setvalue = $_REQUEST[$read];
echo "Value of $read is ".$setvalue;
echo "<br>\n";
}
Cheers,
Girish
I have to wonder why you're using GET at all for form submission. If
you used post, you could just pass in an array:
<form method="POST" action="somesecript.php">
<input type="text" name="values[]"/>
<input type="text" name="values[]"/>
</form>
And in the processing:
foreach ($_POST["values"]):
// do something with each value
endforeach;
~A!
lorento wrote:
Girish wrote:
http://xxxx/get_variables.php?form_v...iable=variable
Above request will be read by php like this:
$_REQUEST["form_variable"] = "value1";
$_REQUEST["form_variable"] = "value2";
$_REQUEST["form_variable"] = "value3";
so only the last value will be the result. Because the first will be
replaced with second value and second value will be replace with the
last value. I think its better you use different variable name.
http://xxxx/get_variables.php?form_v...able3=variable
You can get all the values of above variables.
--- http://www.theukmap.com http://www.theaussiemap.com
Ron Barnett wrote:
"Girish" <gi************@gmail.comwrote in message
news:11**********************@h48g2000cwc.googlegr oups.com...
>>Hi Everyone,
I am passing a form to a php script for further processing.
I am able to retrieve the last value set for that given form variable using $variable=$_REQUEST['form_variable'];
My question is, what is the Php way of retrieving all the values passed for the same form variable?
For example, if the php script is called with a syntax like
http://xxxx/get_variables.php?form_v...iable=variable
, how do I iterate through all the values that form_variable has been set to?
Thanks and regards, Girish
Hi Girish,
In the example you have given, which equates to a Get, the variables will
indeed overwrite each other with only the last value surviving, as stated by
lorento.
You can however create an array by suffixing the variable name (in the HTML
form) this
<input name='inp[0]' type='hidden' value='first value'>
<input name='inp[1]' type='hidden' value='second value'>
<input name='inp[2]' type='hidden' value='third value'>
once this is received by your PHP script the values may be retrieved :
$myArray = $_REQUEST('ip'); // note no subscripts required
$myArray['0'] will contain 'first value', $myArray['1'] the second value,
and so on
BTW Register globals should be OFF on any production machine so there is
little point in having it on in a development machine.
HTH
Ron
Actually, it's even easier than that. No need to specify the index when
you're using the default.
<input name='inp[]' type='hidden' value='first value'>
<input name='inp[]' type='hidden' value='second value'>
<input name='inp[]' type='hidden' value='third value'>
inp[0] == 'first value'
inp[1] == 'second value'
inp[2] == 'third value'
--
==================
Remove the "x" from my email address
Jerry Stuckle
JDS Computer Training Corp. js*******@attglobal.net
==================
Girish wrote:
Ron Barnett wrote:
>>In the example you have given, which equates to a Get, the variables will indeed overwrite each other with only the last value surviving, as stated by lorento.
Hi Ron and everyone else,
Thanks for your response. Let me expand a bit on my requirement. I have
a dynamically generated form where I am now trying something similiar.
To wit:
<input name='inp[0]' type='checkbox' value='first value'>
<input name='inp[1]' type='checkbox' value='second value'>
<input name='inp[2]' type='checkbox' value='third value'>
.
.
etc
Basically, I present a user with a dynamically generated checklist and
I am trying to see all the values that he has checked.
>>once this is received by your PHP script the values may be retrieved :
$myArray = $_REQUEST('ip'); // note no subscripts required
$myArray['0'] will contain 'first value', $myArray['1'] the second value, and so on
Doing as you have suggested, count($myArray) gives the correct number
of values ticked.
But only $myArray['0'] is set!
$myArray['1'], $myArray['2'] , ..., etc are not set!
Not to flame or anything, I AM quite surprised by how arcane processing
a checklist in php is turning out to be. :-)
Thanks again!
Girish
Girish,
First of all, it should be $myArray[0], not $myArray['0']. It has a
numeric index. And the fact count($myArray) has the correct value
indicates the values are correct.
Also, the way you have it coded, if the 'second value' checkbox is not
checked, myValue[1] will not be set and you'll get a notice if you try
to use it. Unless you absolutely have to have the indexes like that, a
better way is to use:
<input name='inp[]' type='checkbox' value='first value'>
<input name='inp[]' type='checkbox' value='second value'>
<input name='inp[]' type='checkbox' value='third value'>
Now inp[0] will contain the value from the first checked box, imp[1]
will contain the value from the second checked box, etc.
Also, I agree with Anthony but for different reasons. I suggest you use
POST instead of GET. Not because of the array (it should work in
either), but because it can get to be quite a long URL if the user
checks several boxes.
--
==================
Remove the "x" from my email address
Jerry Stuckle
JDS Computer Training Corp. js*******@attglobal.net
==================
Jerry Stuckle wrote:
>
Girish,
First of all, it should be $myArray[0], not $myArray['0']. It has a
numeric index. And the fact count($myArray) has the correct value
indicates the values are correct.
Hi Jerry, I had tried both $myArray[0], not $myArray['0'], behaviour
was the same in both cases.
"
Also, the way you have it coded, if the 'second value' checkbox is not
checked, myValue[1] will not be set and you'll get a notice if you try
to use it. Unless you absolutely have to have the indexes like that, a
better way is to use:
<input name='inp[]' type='checkbox' value='first value'>
<input name='inp[]' type='checkbox' value='second value'>
<input name='inp[]' type='checkbox' value='third value'>
Now inp[0] will contain the value from the first checked box, imp[1]
will contain the value from the second checked box, etc.
Ah. gracias. This probably would have worked. The reason I was using
POST was just that GET is easier to debug AND to save as a link to the
report page.
thanks everyone!
Girish This thread has been closed and replies have been disabled. Please start a new discussion. Similar topics
by: jason |
last post by:
How does one loop through the contents of a form complicated by dynamic
construction of checkboxes which are assigned a 'model' and 'listingID' to
the NAME field on the fly in this syntax:...
|
by: Drew |
last post by:
I have a db table like the following,
UID, int auto-increment
RegNo
Person
Relation
YearsKnown
Now here is some sample data from this table,
|
by: mschelstrate |
last post by:
I am attempting to allow a user to update multiple rows and columns in a
datagrid, when the user clicks a "Save" button, the postback occurs, at which
time I need to retrieve all valuse form the...
|
by: shank |
last post by:
I'm trying to use online samples for submitting multiple records from ASP
into a stored procedure. Failing! Through the below form, a user could be
submitting many records at a time. I'm not...
|
by: Andy |
last post by:
Hi All.
I'm working for a company that has set out a guideline for retrieving
data from a database. Nobody can explain to me the reason for the
following.
When retrieving a set of records...
|
by: Captain Dondo |
last post by:
I am not really experienced in Javascript so bear with me....
I am working with an embedded platform; no mouse, no keyboard. Just up,
down, left, right keys and +/- keys for...
|
by: yasodhai |
last post by:
Hi,
I used a dropdown control which is binded to a datagrid control. I
passed the values to the dropdownlist from the database using a
function as follows in the aspx itself.
<asp:DropDownList...
|
by: bmallett |
last post by:
First off, i would like to thank everyone for any and all help with this. That being said, I am having a problem retrieving/posting my dynamic form data. I have a form that has multiple options...
|
by: phpnewbie26 |
last post by:
I currently have two drop down menus where the second one is populated from the first one. My second drop down menu should be able to do multiple selection. I have searched online and found out how...
|
by: Charles Arthur |
last post by:
How do i turn on java script on a villaon, callus and itel keypad mobile phone
|
by: ryjfgjl |
last post by:
In our work, we often receive Excel tables with data in the same format. If we want to analyze these data, it can be difficult to analyze them because the data is spread across multiple Excel files...
|
by: emmanuelkatto |
last post by:
Hi All, I am Emmanuel katto from Uganda. I want to ask what challenges you've faced while migrating a website to cloud.
Please let me know.
Thanks!
Emmanuel
|
by: BarryA |
last post by:
What are the essential steps and strategies outlined in the Data Structures and Algorithms (DSA) roadmap for aspiring data scientists? How can individuals effectively utilize this roadmap to progress...
|
by: nemocccc |
last post by:
hello, everyone, I want to develop a software for my android phone for daily needs, any suggestions?
|
by: Hystou |
last post by:
Most computers default to English, but sometimes we require a different language, especially when relocating. Forgot to request a specific language before your computer shipped? No problem! You can...
|
by: Oralloy |
last post by:
Hello folks,
I am unable to find appropriate documentation on the type promotion of bit-fields when using the generalised comparison operator "<=>".
The problem is that using the GNU compilers,...
|
by: Hystou |
last post by:
Overview:
Windows 11 and 10 have less user interface control over operating system update behaviour than previous versions of Windows. In Windows 11 and 10, there is no way to turn off the Windows...
|
by: tracyyun |
last post by:
Dear forum friends,
With the development of smart home technology, a variety of wireless communication protocols have appeared on the market, such as Zigbee, Z-Wave, Wi-Fi, Bluetooth, etc. Each...
| |