i'll try to be short ... i have this in html :
<select name="OS[]" size="5">
<option value="0" selected>Please select one or more...</option>
<option value="1">Windows</option>
<option value="2">Mac OS X</option>
<option value="3">Linux</option>
</select>
and i want to echo the values from this simple list (OS), i mean array
from $_GET array ...
i did this:
foreach($_GET as $i => $val)
echo $i . ": " . $val . "<br>";
but, it only echoes out OS: Array ...
and this: echo $_GET['OS'][1]."<br>\n"; but it is wrong ...
how to extract values from OS array inside te GET ? please help ... 8 11775
dude wrote: i'll try to be short ... i have this in html :
<select name="OS[]" size="5"> <option value="0" selected>Please select one or more...</option> <option value="1">Windows</option> <option value="2">Mac OS X</option> <option value="3">Linux</option> </select>
and i want to echo the values from this simple list (OS), i mean array from $_GET array ...
i did this:
foreach($_GET as $i => $val) echo $i . ": " . $val . "<br>";
but, it only echoes out OS: Array ...
and this: echo $_GET['OS'][1]."<br>\n"; but it is wrong ...
how to extract values from OS array inside te GET ? please help ...
Hi,
Your select is not an array, but a simple value, since only 1 can be
selected.
So if you want to know what was selected, just use:
<select name="OS" size="5">
and from PHP: $_GET["OS"]
Of course this means the method of the form was GET and not POST, in which
case you should use $_POST["OS"]
I think you are confusing checkboxes with select.
For checkboxes you can use:
<input type="checkbox" name="myval[]" value="1">1<br>
<input type="checkbox" name="myval[]" value="2">2<br>
<input type="checkbox" name="myval[]" value="3">3<br>
then from PHP:
$myvalArr = $_POST["myval"];
Regards,
Erwin Moller
"dude" <du****@gmail.com> wrote in message
news:e6**********@ss408.t-com.hr... i'll try to be short ... i have this in html :
<select name="OS[]" size="5"> <option value="0" selected>Please select one or more...</option> <option value="1">Windows</option> <option value="2">Mac OS X</option> <option value="3">Linux</option> </select>
and i want to echo the values from this simple list (OS), i mean array from $_GET array ...
i did this:
foreach($_GET as $i => $val) echo $i . ": " . $val . "<br>";
try:
foreach($_GET['OS'] as $i => $val)
echo $i . ": " . $val . "<br>";
By the way, I think you're missing the attribute MULTIPLE from the select if
you want to be able to select multiple items. It should be
<select name="OS[]" size="5" multiple>
or if you're using xhtml,
<select name="OS[]" size="5" multiple="multiple">
--
"ohjelmoija on organismi joka muuttaa kofeiinia koodiksi" -lpk sp**@outolempi.net | Gedoon-S @ IRCnet | rot13(xv***@bhgbyrzcv.arg)
Erwin Moller wrote: dude wrote:
i'll try to be short ... i have this in html :
<select name="OS[]" size="5"> <option value="0" selected>Please select one or more...</option> <option value="1">Windows</option> <option value="2">Mac OS X</option> <option value="3">Linux</option> </select>
and i want to echo the values from this simple list (OS), i mean array from $_GET array ...
i did this:
foreach($_GET as $i => $val) echo $i . ": " . $val . "<br>";
but, it only echoes out OS: Array ...
and this: echo $_GET['OS'][1]."<br>\n"; but it is wrong ...
how to extract values from OS array inside te GET ? please help ...
Hi,
Your select is not an array, but a simple value, since only 1 can be selected. So if you want to know what was selected, just use: <select name="OS" size="5">
and from PHP: $_GET["OS"]
Of course this means the method of the form was GET and not POST, in which case you should use $_POST["OS"]
I think you are confusing checkboxes with select. For checkboxes you can use: <input type="checkbox" name="myval[]" value="1">1<br> <input type="checkbox" name="myval[]" value="2">2<br> <input type="checkbox" name="myval[]" value="3">3<br>
then from PHP: $myvalArr = $_POST["myval"];
Regards, Erwin Moller
thnx, but it is not about checkboxes ... this works fine with checkboxes
... not with list :)
> try: foreach($_GET['OS'] as $i => $val) echo $i . ": " . $val . "<br>";
By the way, I think you're missing the attribute MULTIPLE from the select if you want to be able to select multiple items. It should be <select name="OS[]" size="5" multiple>
or if you're using xhtml, <select name="OS[]" size="5" multiple="multiple">
i did set multiple, and the foreach and the echo result is:
if all the items in the list are selected :
0: 1
1: 2
2: 3
3: 3
if second selected then the echo will be: 0: 1
ok, i can work this way, but can it echo values i mean selected string,
like Windows, Linux, ... , not 0:1, 0:2, etc ...
is it possible ?
eccept if ... or switch condition
foreach($_GET['OS'] as $i => $val)
if($i == 0 && $val == 1)
echo "Windows <br>";
if($i == 0 && $val == 2)
echo "Linux <br>";
... etc
this is too complicated, what if i have 40 items in the list :)
dude wrote: try: foreach($_GET['OS'] as $i => $val) echo $i . ": " . $val . "<br>";
By the way, I think you're missing the attribute MULTIPLE from the select if you want to be able to select multiple items. It should be <select name="OS[]" size="5" multiple>
or if you're using xhtml, <select name="OS[]" size="5" multiple="multiple">
i did set multiple, and the foreach and the echo result is: if all the items in the list are selected : 0: 1 1: 2 2: 3 3: 3
if second selected then the echo will be: 0: 1
ok, i can work this way, but can it echo values i mean selected string, like Windows, Linux, ... , not 0:1, 0:2, etc ... is it possible ? eccept if ... or switch condition
foreach($_GET['OS'] as $i => $val) if($i == 0 && $val == 1) echo "Windows <br>"; if($i == 0 && $val == 2) echo "Linux <br>"; ... etc
this is too complicated, what if i have 40 items in the list :)
Why are you using 1, 2, 3, etc. when you want Windows, Linux, etc.?
Perhaps this little example will help:
<?php
if( isset($_GET['OS']) ) {
foreach( $_GET['OS'] as $key => $value) {
printf("Selected %s<br>\n", $value);
}
}
?>
<html>
<head></head>
<body>
<form action="test.php" method="GET">
<select name="OS[]" size="5" multiple>
<option>Windows</option>
<option>Linux</option>
</select>
<input type="submit">
</form>
</body>
</html>
-david-
"dude" <du****@gmail.com> wrote in message
news:e6**********@ss408.t-com.hr... try: foreach($_GET['OS'] as $i => $val) echo $i . ": " . $val . "<br>";
By the way, I think you're missing the attribute MULTIPLE from the select if you want to be able to select multiple items. It should be <select name="OS[]" size="5" multiple>
or if you're using xhtml, <select name="OS[]" size="5" multiple="multiple">
i did set multiple, and the foreach and the echo result is: if all the items in the list are selected : 0: 1 1: 2 2: 3 3: 3
if second selected then the echo will be: 0: 1
ok, i can work this way, but can it echo values i mean selected string, like Windows, Linux, ... , not 0:1, 0:2, etc ... is it possible ? eccept if ... or switch condition
foreach($_GET['OS'] as $i => $val) if($i == 0 && $val == 1) echo "Windows <br>"; if($i == 0 && $val == 2) echo "Linux <br>"; ... etc
this is too complicated, what if i have 40 items in the list :)
Looks like you're overcomplicating things.
Just change the options to pass the string instead of an index (unless you
need the indes for something else):
<select name="OS[]" size="5" multiple="multiple">
<option value="" selected>Please select one or more...</option>
<option value="Windows">Windows</option>
<option value="Mac OS X">Mac OS X</option>
<option value="Linux">Linux</option>
</select>
Then
$myarray = $_GET['OS'];
will then give you an array of the selected Strings
cheers,
ED
Thank you all ! I'm grateful. This works perfect!
Looks like I was overcomplicating things :)
dude wrote: Erwin Moller wrote: dude wrote:
i'll try to be short ... i have this in html :
<select name="OS[]" size="5"> <option value="0" selected>Please select one or more...</option> <option value="1">Windows</option> <option value="2">Mac OS X</option> <option value="3">Linux</option> </select>
and i want to echo the values from this simple list (OS), i mean array from $_GET array ...
i did this:
foreach($_GET as $i => $val) echo $i . ": " . $val . "<br>";
but, it only echoes out OS: Array ...
and this: echo $_GET['OS'][1]."<br>\n"; but it is wrong ...
how to extract values from OS array inside te GET ? please help ...
Hi,
Your select is not an array, but a simple value, since only 1 can be selected. So if you want to know what was selected, just use: <select name="OS" size="5">
and from PHP: $_GET["OS"]
Of course this means the method of the form was GET and not POST, in which case you should use $_POST["OS"]
I think you are confusing checkboxes with select. For checkboxes you can use: <input type="checkbox" name="myval[]" value="1">1<br> <input type="checkbox" name="myval[]" value="2">2<br> <input type="checkbox" name="myval[]" value="3">3<br>
then from PHP: $myvalArr = $_POST["myval"];
Regards, Erwin Moller
thnx, but it is not about checkboxes ... this works fine with checkboxes ... not with list :)
Yes it does.
DId you read my first piece of code?
<select name="OS" size="5">
and from PHP: $_GET["OS"]
What is excactly not working?
Regards,
Erwin Moller This discussion thread is closed Replies have been disabled for this discussion. Similar topics
5 posts
views
Thread by gf |
last post: by
|
3 posts
views
Thread by Duyet The Vo |
last post: by
|
6 posts
views
Thread by brian_mckracken |
last post: by
|
5 posts
views
Thread by Chuck Anderson |
last post: by
|
10 posts
views
Thread by alanbe |
last post: by
|
8 posts
views
Thread by Michael Wild |
last post: by
|
4 posts
views
Thread by Sen |
last post: by
| | | | | | | | | | | | |