View Full Version : unable to read checkbox and radio

02-29-2008, 02:03 PM
i am using a self submitting form

<form action="<?php echo $_SERVER["PHP_SELF"]; ?>" method="POST" id="test2" name="test1">

i need to do a validation of textfields, checkboxes, radio buttons

i am able to read, display and validate textfields after the form has been submitted however i am getting an error for

checkbox and radio buttons.

code for textfields

username <input type="text" name="username" value="<?php echo($username) ; ?>" />

$username = htmlentities($_POST["username"]);

if($username == "") { $error.=" enter username <br />"; }

for checkboxes and radio buttons i am getting
"Notice: Undefined index: checkboxname " for checkbox
"Notice: Undefined index: radiobuttonname " for radio button

presently the code for checkbox and radio button is

<input type="checkbox" name="cbox" value="abc" />

$deposit = $_POST["cbox"];

<input type="radio" name="radioname" value="one"> one
<input type="radio" name="radioname" value="two"> two

$radioname = $_POST["radioname"];

i have tried cbox[] radioname[] however i keep getting
"Notice: Undefined index: cbox " and "Notice: Undefined index: radioname "
for checkbox and radio button

please advice.


02-29-2008, 02:28 PM
that should give you information on the cbox and radio

02-29-2008, 07:40 PM
You should use isset. The checkboxes and radio buttons only get posted if they were checked

// checkboxes should have unique names not the same one.
echo 'Checkbox cbox posted';
echo 'Checkbox cbox not posted';
// radio buttons can only one button checked within the same name
echo 'Radio input radioname posted';
echo 'Radio input radioname not posted';

02-29-2008, 08:26 PM
I say there should always be a default on a radio button set... if it's valid to not pick any of the radio options, then there should be a "none" radio button that is the default.

Also a fun little trick to force the POST to create the checkbox index is to include a hidden form element that is named the same as the checkbox element.

<form name="form1" method="post">
<input type="hidden" name="chk1" value="no">
<input type="checkbox name="chk1" value="yes">Check this