帮助PHP和HTML复选框
我需要帮助与复选框和PHP的工作。我只是想确定是否使用PHP选中复选框的值 例如:帮助PHP和HTML复选框,php,mysql,forms,checkbox,Php,Mysql,Forms,Checkbox,我需要帮助与复选框和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";
<?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>
试试这个:
<?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>
/>复选框2
,请在查询数据库之前清理用户输入。对于您当前的代码,您很容易受到SQL注入的攻击谢谢:)我还发现,导致一切的错误都是发送到SQL的textarea信息,而不是复选框。一个简单的mysql\u real\u escape\u string()解决了所有问题。令人惊讶的是,一个错误竟然会引起严重的头痛。无论如何,谢谢。现在它又回来为我工作了。
<?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>