pugs1501 Posted April 13, 2007 Share Posted April 13, 2007 I am creating a form in PHP and I can get most of it to work. I am just having problems with the check box feature. I want to be able to have a check box that the user will select multiple items and then put them all into one variable so when I do a Mysql call looking for one of the items it will show me that user chose it. Here is just a test form I am just trying to get the Functionality working. <?php if ($_GET['catupdate'] == 'Update'){ $pets1 = $_GET[pets]." ".$_GET[pets]." ".$_GET[pets]; echo $_GET['catname']; echo "<br>\n"; echo $_GET['catrank']; echo "<br>\n"; echo $_GET['catint']; echo "<br>\n"; echo $pets1; }else{ echo "<center><table border=0 cellpadding=0 cellspacing=0 width=90%>"; echo "<form method=get action=index.php>"; echo "<tr><td><font color=000000>Name: </font><input type=Text size=40 name=catname></td></tr>"; echo "<tr><td><font color=000000>Rank: </font><input type=Text size=40 name=catrank></td></tr>"; echo "<tr><td><font color=000000>Initial: </font><input type=Text size=15 name=catint></td></tr>"; echo "<tr><td><font color=000000>pets: </font><input type=checkbox name=pets value=dog> dog</td></tr>"; echo "<tr><td><font color=000000>pets: </font><input type=checkbox name=pets value=cat> cat</td></tr>"; echo "<tr><td><font color=000000>pets: </font><input type=checkbox name=pets value=rat> rat</td></tr>"; echo "<tr><td><center><input type=Submit name=catupdate value=Update></center></td></tr>"; echo "</form></table></center>"; } ?> here is what the result looks like testdata // catname variable 2 // catrank variable example // catint Variable rat rat rat // pets variable with a space I would just make the name of the check boxes all different but when I am pulling from a database for the selections I am not sure how many I would have. Any help would be very much appreciated. Link to comment https://forums.phpfreaks.com/topic/46868-forms-with-php/ Share on other sites More sharing options...
PC Nerd Posted April 13, 2007 Share Posted April 13, 2007 um, well firstly use" name = 'value' instead of: name=value in terms of your database. simply loop through the result and echo out relevent values to checkboxes. Link to comment https://forums.phpfreaks.com/topic/46868-forms-with-php/#findComment-228479 Share on other sites More sharing options...
kenrbnsn Posted April 13, 2007 Share Posted April 13, 2007 If you want to get multiple values back from a checkbox, you need to make the name an array. Also you should always quote all values of all attributes. <?php echo "<form method='get' action='index.php'>"; echo "<tr><td><font color='000000'>Name: </font><input type='Text' size='40' name='catname'></td></tr>"; echo "<tr><td><font color='000000'>Rank: </font><input type='Text' size='40' name='catrank'></td></tr>"; echo "<tr><td><font color='000000'>Initial: </font><input type='Text' size='15' name='catint'></td></tr>"; echo "<tr><td><font color='000000'>pets: </font><input type='checkbox' name='pets[]' value='dog'> dog</td></tr>"; echo "<tr><td><font color='000000'>pets: </font><input type='checkbox' name='pets[]' value='cat'> cat</td></tr>"; echo "<tr><td><font color='000000'>pets: </font><input type='checkbox' name='pets[]' value='rat'> rat</td></tr>"; echo "<tr><td><center><input type='Submit' name='catupdate' value='Update'></center></td></tr>"; ?> Then in your processing, you would do: <?php f ($_GET['catupdate'] == 'Update'){ $pets1 = implode(' ',$_GET['pets]'); echo $_GET['catname']; echo "<br>"; echo $_GET['catrank']; echo "<br>"; echo $_GET['catint']; echo "<br>"; echo $pets1; ?> Ken Link to comment https://forums.phpfreaks.com/topic/46868-forms-with-php/#findComment-228536 Share on other sites More sharing options...
Recommended Posts
Archived
This topic is now archived and is closed to further replies.