帮助PHP和HTML复选框


Help PHP and HTML Checkboxes

我需要帮助使用复选框和PHP。我只是想确定PHP是否选中复选框的值。

示例:

<?php
include ("inc/conf.php");
$id = $_SESSION['id'];
if(isset($_POST['subfrm'])){
  $gtid = $_REQUEST['tid'];
  $ch1 = $_REQUEST['ch1'];
  if($ch1 == "ON"){
    $gch1 = "Y";
  } else {
    $gch1 = "N";
  }
  $ch2 = $_REQUEST['ch2'];
  if($ch2 == "ON"){
    $gch2 = "Y";
  } else {
    $gch2 = "N";
  }
  mysql_query("UPDATE SET ctable ch1='$gch1', ch2='$gch2' WHERE id='$gtid'");
}
?>
<form method="post" action="<?php echo $_SERVER['PHP_SELF']; ?>">
<input type="hidden" name="tid" value="<?php echo $id; ?>" />
<input type="checkbox" name="ch1" />Hats
<input type="checkbox" name="ch2" />Watches
<textarea name="thetext"></textarea>
<input type="submit" name="subfrm" value="PUNCH ME" />
</form>
if(isset($_REQUEST["ch1"])){
    $gch1 = "Y";
} else {
    $gch1 = "N";
}
if(isset($_REQUEST["ch2"])){
    $gch2 = "Y";
} else {
    $gch2 = "N";
}

您不需要检查值是什么,因为如果不检查,它将不会提交任何数据,如果是,它将提交on的值。

试试这个:

<?php
$ch1 = isset($_REQUEST['ch1']);

如果未选中复选框,则其相应的变量将不会显示在请求中。

一起通过这个。它会让您知道选中了哪个复选框,并在表单提交时保留该复选框。

<?php
$message = '';
$ch1_checked = false;
$ch2_checked = false;
if(isset($_POST['submit_button'])) {
    // Form was submitted
    $ch1_checked = isset($_POST['ch1']);
    $ch2_checked = isset($_POST['ch2']);
    if($ch1_checked && $ch2_checked) {
        $message .= 'Both were checked.';
    } else if($ch1_checked) {
        $message .= 'Checkbox 1 was checked.';
    } else if($ch2_checked) {
        $message .= 'Checkbox 2 was checked.';
    } else {
        $message .= 'Neither were checked.';
    }
}
?>
<?php echo $message; ?>
<form id="my_form" action="test.php" method="post">
    <input type="checkbox" name="ch1" value="ch1" <?php if($ch1_checked) echo 'checked'; ?> />Checkbox 1<br />
    <input type="checkbox" name="ch2" value="ch2" <?php if($ch2_checked) echo 'checked'; ?> />Checkbox 2<br />
    <input type="submit" name="submit_button" value="Go!" />
</form>