<?php // demo/EE_checkbox_demo.php
error_reporting(E_ALL);
echo "<pre>" . PHP_EOL;
// DEMONSTRATE HOW TO SUBMIT AND PROCESS CHECKBOXES
// THESE ARE THE NAMES OF THE CHECKBOXES
$options
= array
( 'Freshman' => NULL
, 'Sophomore' => NULL
, 'Junior' => NULL
, 'Senior' => NULL
)
;
// IF THE FORM HAS BEEN SUBMITTED
if (!empty($_POST["sb"]))
{
echo "CHOICES:";
// SHOW THE CHOICES THAT WERE SELECTED
foreach ($options as $opt => $status)
{
if (isset($_POST["choice"][$opt]))
{
// THIS IS WHERE YOU MIGHT DO THE PROCESSING FOR THE SELECTED CHOICE
$options[$opt] = " checked ";
echo PHP_EOL . $opt;
}
}
}
// END OF PHP PROCESSING - USE HTML AND JAVASCRIPT TO PUT UP THE FORM
// THE FIRST PART OF THE HTML DEFINED IN HEREDOC NOTATION
$html = <<<ENDHTML
<script language="JavaScript">
function toggle(formName, arrayName, YesNo)
{
var xbox=document.getElementsByName(formName)[0].getElementsByTagName('input');
for(i=0; i<xbox.length; i++)
{
if (xbox[i].name.substr(0,arrayName.length) == arrayName) xbox[i].checked=YesNo;
}
}
</script>
<form method="post" name="checkForm">
<input type="checkbox" onClick="toggle('checkForm', 'choice', this.checked)"> TOGGLE ALL OR SELECT A GRADE:
ENDHTML;
// THE SECOND PART OF THE HTML CREATED DYNAMICALLY FROM $options
foreach ($options as $opt => $status)
{
$html
.= '<input' // START THE INPUT CONTROL TAG
. ' name="choice' // ASSIGN THE NAME AS AN ARRAY [choice][]
. '[' // USE BRACKET NOTATION
. $opt // THE ARRAY KEY
. ']' // CLOSE THE ARRAY BRACKET NOTATION
. '" ' // CLOSE THE NAME ATTRIBUTE
. ' type="checkbox"' // THE INPUT CONTROL TYPE ATTRIBUTE
. ' value="' // THE VALUE ATTRIBUTE
. $opt // THE NAME OF THE CHOICE
. '" ' // CLOSE THE VALUE ATTRIBUTE
. $status // CHECKED OR NULL
. " /> $opt" // TEXT FOR THE CLIENT TO SEE
. PHP_EOL
;
}
// ADD THE END OF THE DOCUMENT
$html .= '<input name="sb" type="submit" value="MAKE SELECTION" />' . PHP_EOL;
$html .= '</form>' . PHP_EOL;
// WRITE THE FORM
echo $html;
What Just Happened?
<?php // demo/unchecked_checkbox.php
error_reporting(E_ALL);
// SHOW HOW TO USE HIDDEN INPUT TO APPLY A VALUE TO AN UNCHECKED CHECKBOX
// SHOW THE POST ARRAY, IF ANY
if (!empty($_POST)) print_r($_POST);
// CREATE THE FORM USING HEREDOC NOTATION
$form = <<<ENDFORM
<form method="post">
<input type="hidden" name="my_check_box" value="You Did Not Check It" />
<input type="checkbox" name="my_check_box" value="You Checked It" /> TRY CHECKING OR UNCHECKING THIS BOX
<input type="submit" />
</form>
ENDFORM;
echo $form;
To Learn More
Have a question about something in this article? You can receive help directly from the article author. Sign up for a free trial to get started.
Comments (0)