Reply to Re: Processing multiple checkboxes with same name.

Your name:

Reply:


Posted by David Haynes on 07/14/06 13:32

jeffsnox@gmail.com wrote:
> Hi,
>
> I have multiple checkboxes on the same form as follows:
>
> <input type='checkbox' name='cbtype[]' value='1'>
> <input type='checkbox' name='cbtype[]' value='2'>
> <input type='checkbox' name='cbtype[]' value='3'>
>
> I'm wanting to re-display the same checkboxes, but if the user
> previously checked one of them then I want it automatically checked on
> the subsequent display. At the moment I'm doing this:
>
> $checked = '';
> if (in_array('1',$HTTP_POST_VARS[cbtype])) { $checked = ' checked'; }
> <input type='checkbox' name='cbtype[]' value='1' $checked>
>
> This works perfectly unless the user hasn't selected any of the
> checkboxes in which case I get the following error thrown at me:
>
> Warning: in_array(): Wrong datatype for second argument in...
>
> Obviously PHP isn't creating an array for the checkbox selection data
> unless it has to, and so "in_array" is throwing a wobbly.
>
> Presumably there's a better way to do this?
>
> TIA
>

I usually unroll the checkbox as follows:

$boxes = array(1, 2, 3);
foreach( $boxes as $box ) {
$checked = isset($_POST['cbtype'][$box]) ? 'checked' : '';
printf("<input type=\"checkbox\" name=\"cbtype[]\" value=\"%d\" %s>\n",
$box, $checked);
}

-david-

[Back to original message]


Удаленная работа для программистов  •  Как заработать на Google AdSense  •  England, UK  •  статьи на английском  •  PHP MySQL CMS Apache Oscommerce  •  Online Business Knowledge Base  •  DVD MP3 AVI MP4 players codecs conversion help
Home  •  Search  •  Site Map  •  Set as Homepage  •  Add to Favourites

Copyright © 2005-2006 Powered by Custom PHP Programming

Сайт изготовлен в Студии Валентина Петручека
изготовление и поддержка веб-сайтов, разработка программного обеспечения, поисковая оптимизация