This is a discussion on How PHP $_POST gets the multiple values from a HTML form? within the PHP Language forums, part of the PHP Programming Forums category; I am try test a simple HTML form with PHP <form method=POST action="testing.php"> ...
|
|||||||
| FAQ | Members List | Calendar | Search | Today's Posts | Mark Forums Read |
|
|||
|
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! |
|
|||
|
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); > ?> > |
|
|||
|
On Wed, 18 May 2005 09:34:36 -0400, RC <raymond.chui@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 |
|
|||
|
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/ |