By using this site, you agree to our updated Privacy Policy and our Terms of Use. Manage your Cookies Settings.
435,131 Members | 1,560 Online
Bytes IT Community
+ Ask a Question
Need help? Post your question and get tips & solutions from a community of 435,131 IT Pros & Developers. It's quick & easy.

How PHP $_POST gets the multiple values from a HTML form?

P: n/a
RC
I am try test a simple HTML form with PHP

<form method=POST action="testing.php">
Cat <input type="checkbox" name="pet" value="cat">
Dog <input type="checkbox" name="pet" value="dog">
Pig <input type="checkbox" name="pet" value="pig">
<br>
<select name="dates" multiple>
<option value="Monday">Monday</option>
<option value="Tuesday">Tuesday</option>
<option value="Wednesday">Wednesday</option>
<option value="Thursday">Thursday</option>
<option value="Friday">Friday</option>
<option value="Saturday">Saturday</option>
<option value="Sunday">Sunday</option>
</select><br>
<input type="submit" value="Submit">
<input type="reset" value="Reset">
</form>

When I checked cat, pig and selected Tuesday and Saturday from the form
and click submitt

My testing.php is

<?php
$pet = $_POST['pet'];
$dates = $_POST['dates'];

print_r($pet);
var_dump($dates);
?>

The $_POST['pet'] and $_POST['dates']
are NOT return as array nor multiple
strings seperated with a comma.
It only return the LAST string I have
checked and/or selected.

How do I get the multiple values from the
checkbox and the multiple select from a
HTML form in PHP?

Thank Q very much in advance!
Jul 17 '05 #1
Share this Question
Share on Google+
3 Replies


P: n/a
RC
RC wrote:
I am try test a simple HTML form with PHP

<form method=POST action="testing.php">
Cat <input type="checkbox" name="pet" value="cat">
Dog <input type="checkbox" name="pet" value="dog">
Pig <input type="checkbox" name="pet" value="pig">
Never mind, I found the solution
In HTML file form need to changed to

Cat <input type="checkbox" name="pet[]" value="cat">
Dog <input type="checkbox" name="pet[]" value="dog">
Pig <input type="checkbox" name="pet[]" value="pig">
<br>
<select name="dates" multiple>
and need to changed to
<select name="dates[]" multiple>

<option value="Monday">Monday</option>
<option value="Tuesday">Tuesday</option>
<option value="Wednesday">Wednesday</option>
<option value="Thursday">Thursday</option>
<option value="Friday">Friday</option>
<option value="Saturday">Saturday</option>
<option value="Sunday">Sunday</option>
</select><br>
<input type="submit" value="Submit">
<input type="reset" value="Reset">
</form>

When I checked cat, pig and selected Tuesday and Saturday from the form
and click submitt

My testing.php is

<?php
$pet = $_POST['pet'];
$dates = $_POST['dates'];
Then in PHP need to changed to

$pet = array($_POST['pet']);
$dates = array($_POST['dates']);
print_r($pet);
var_dump($dates);
?>

Jul 17 '05 #2

P: n/a
On Wed, 18 May 2005 09:34:36 -0400, RC <ra**********@nospam.noaa.gov>
wrote:
Try amending the slect tag to include a set of square brackets after
the name like this:

<select name="dates[]" multiple>

That should then give you the selected elements in an array.

hth

C
Jul 17 '05 #3

P: n/a
On Wed, 18 May 2005 09:43:32 -0400, RC wrote:
Then in PHP need to changed to

$pet = array($_POST['pet']);
$dates = array($_POST['dates']);


No way dude, remove the array(), then $pet will still be an array
because $_POST['pet'] is. By the way, no need to use a local variable
like $pet, you could just use $_POST['pet']. Try print_r($_POST);
--
Firefox Web Browser - Rediscover the web - http://getffox.com/
Thunderbird E-mail and Newsgroups - http://gettbird.com/
Jul 17 '05 #4

This discussion thread is closed

Replies have been disabled for this discussion.