Don't name the checkboxes all the same, instead:

Option1 <input type="checkbox" name="ck0"><br>
Option2 <input type="checkbox" name="ck1"><br>
Option3 <input type="checkbox" name="ck2"><br>


Then handle it with

function getCheckboxResults($prefix=FALSE)
{
    global $_POST ;
    $results = NULL ; // needed for 'return' in case no items (v4.1.x)
    if(is_string($prefix)){
        For($i=0;$i<=count($_POST);$i++){
            if(isset($_POST[$prefix.$i])) $results[] = $i ;
        }
    } else { return -1 ; } // throw exception in script
    return $results ;
}

$selectedCKItems = getCheckboxResults('ck');
if(!$selectedCKItems) makeError('Please select at least one item.');

If a checkbox is not selected, the CGI will drop it (as in, not pass on the
name/value pair - meaning the name is not there - which is why you test for
it's existance).

I didn't test that example. But if it works, the function might be a nice
addition to your (and mine) library :)


you might use it like to:
$prefix = 'ck';
Forech($arrLabels AS $i=>$label)
printf('%s <input type="checkbox" name="%s%d"><br>\n',$label,$prefix,$i);

Then put this member functions in a class deinition and register instatiated
objects with a session to use them across pages. $arrLabels would be a
property of the class. 'ck' would be the value of another property. Maybe
your foreach statement was in a member function.

OK, I'll shut up now :)

[TK] 





> -----Original Message-----
> From: Erik Price [mailto:[EMAIL PROTECTED]] 
> Sent: Tuesday, 5 March 2002 2:24 AM
> To: bvr
> Cc: Ben Turner; [EMAIL PROTECTED]
> Subject: Re: [PHP] CheckBoxes....
> 
> 
> 
> On Sunday, March 3, 2002, at 11:15  AM, bvr wrote:
> 
> > If you append '[]' to the name, an array will be returned 
> after submit
> > with the values of the checked checkboxes.
> >
> 
> 
> Is there any other way of doing this?  Using the brackets at 
> the end of 
> the input's name is super-convenient, making it relatively 
> easy to work 
> with arrays and user input in PHP.  I love that.  But I also wish I 
> could validate my pages as XHTML Strict.  I know it's not 
> really a big 
> deal, it's just a pride-in-work thing.
> 
> Alternatively, is there any plans to change the DTD for XHTML 
> Strict to 
> allow brackets?  IMO it's not something that cause problems 
> if it were 
> to be supported.  Kind of lame that it's not, actually.
> 
> Until then, I'll keep using them (brackets) b/c there's some 
> things that 
> it seems I can't do without this technique, but it would be nice....
> 
> 
> Erik
> 
> 
> 
> 
> ----
> 
> Erik Price
> Web Developer Temp
> Media Lab, H.H. Brown
> [EMAIL PROTECTED]
> 
> 
> -- 
> PHP General Mailing List (http://www.php.net/)
> To unsubscribe, visit: http://www.php.net/unsub.php
> 

-- 
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to