使用 HTML 复选框将 1 或 0 放入 MySQL 表中

2022-08-30 23:51:10

我在表单中使用一个简单的HTML复选框,在MySQL表中名为“subcheck”的字段中放置一个1表示选中,将0表示未选中。

复选框是否默认为 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`)
)

答案 1

要确保始终发送 1 或 0,您可以插入一个隐藏输入,该输入与 html 中的复选框相同:name

//The input hidden
<input type="hidden" name="subcheck" value="0" />

//The checkbox
<input type="checkbox" name="subcheck" value="1" /> 

这样,您就无需在服务器端签入文本框是否已设置或未;)


答案 2

如果未勾选该复选框,则不会向服务器发送任何内容。相反,您可以提供默认值:

$subcheck = (isset($_POST['subcheck'])) ? 1 : 0;

推荐