我在一个表单中使用一个简单的HTML复选框,在MySQL表中的一个名为“subcheck”的字段中将1表示为checked,将0表示为unchecked。
“已选中”复选框默认为1,未选中则为0吗?如果没有,我该如何给它这些价值?
形式:
<div class="subcheck"><INPUT TYPE=CHECKBOX NAME="subcheck">Click here to receive free money in the mail.<P></div>
在表格中的文件:
$subcheck = $_POST['subcheck'];
mysql_query("INSERT INTO submission VALUES (NULL, '$uid', '$title', '$slug', '$cleanurl', '$displayurl', NULL, '$subcheck')");
MySQL表:
`submission` (
`submissionid` int(11) unsigned NOT NULL auto_increment,
`loginid` int(11) NOT NULL,
`title` varchar(1000) NOT NULL,
`slug` varchar(1000) NOT NULL,
`url` varchar(1000) NOT NULL,
`displayurl` varchar(1000) NOT NULL,
`datesubmitted` timestamp NOT NULL default CURRENT_TIMESTAMP,
`subcheck` tinyint(1) NOT NULL,
PRIMARY KEY (`submissionid`)
)
答案 0 :(得分:32)
为了确保始终发送1或0,您可以在html中插入隐藏了与name
复选框相同的输入:
//The input hidden
<input type="hidden" name="subcheck" value="0" />
//The checkbox
<input type="checkbox" name="subcheck" value="1" />
这样,如果设置了文本框,则无需在服务器端签入;)
答案 1 :(得分:30)
如果未选中该复选框,则不会向服务器发送任何内容。相反,您可以使用以下内容提供默认值:
$subcheck = (isset($_POST['subcheck'])) ? 1 : 0;
答案 2 :(得分:1)
如果取消选中Checkbox,则根本不会提交$ uncheck。
在PHP中你应该写:
if !(isset($_POST['subcheck']))
$subcheck = 0;
mysql_query("INSERT INTO submission VALUES (NULL, '$uid', '$title', '$slug', '$cleanurl', '$displayurl', NULL, '$subcheck')");
答案 3 :(得分:0)
你应该尝试if语句或三元条件语句.. 如果(isset($ _ POST [ 'subcheck'])) $ subcheck = 1; 其他 $ subcheck = 0;
你可以尝试 $ subcheck =(isset($ _ POST ['subcheck']))? 1:0;并且在数据库中你应该使用枚举类型子检查
答案 4 :(得分:0)
这可以使用如下
<input type="checkbox" name="status" value="1" >
$status = (isset($_REQUEST['status']));
if ($status == 1 )
{
$status = 1;
}
else
{
$status = 0;
}
echo $status;