etm124
etm124

Reputation: 2140

$_POST variables missing when adding HTML checkbox array

When a process changed required me to change a radio button field, to a checkbox to allow multiple selections, I made the following change to my html:

    <input type='checkbox' name='ptype[]' value='1'> Jail/not sentenced</br>
    <input type='checkbox' name='ptype[]' value='2'> Jail/Sentenced</br>
    <input type='checkbox' name='ptype[]' value='3'> State/DOC</br>
    <input type='checkbox' name='ptype[]' value='4'> ICE/US Marshall</br>
    <input type='checkbox' name='ptype[]' value='5'> 7x/wardens Agree</br>

When making ptype an array to handle multiple selections, I am finding my $_POST variable missing a key. If I try to revert ptype to a radio button and handle only one value, I don't get any error/warning.

I've checked Firebug, and when ptype[] is set, one of my $_POST variables is not relayed. I know the max post variable is not an issue, as I only have 52 post variables on my form.

I don't know if it's relevant, but this field is never coming through:

    <input type='radio' name='wc' value='1'> Yes
    <input type='radio' name='wc' value='0'> No

   Notice: Undefined index: wc in C:\inetpub\wwwroot\internal_tools\include\consults\consult_utilities.php on line 53 

Any help would be greatly appreciated.

EDIT: As requested, my form.

EDIT 2: Firebug POST variables

EDIT 3: Added line 53:

$data['workers_comp']           = $_POST['wc'];

Upvotes: 2

Views: 1314

Answers (1)

huysentruitw
huysentruitw

Reputation: 28131

Probably you didn't select an option for the wc radiobutton and therefore the variable is not submitted.

You should change your PHP code to:

$wc = isset($_POST["wc"]) ? $_POST["ws"] : "0";

Or, as I already suggested in comment, you have a problem in the javascript method validateFrm which you call upon submitting the form.

Upvotes: 1

Related Questions