欢迎, 我在表单和向 mysql 插入数据时遇到一些问题。 我的表单有一个输入:
<inpu type="checkbox" name="check">
这是我将此表单数据插入到 mysql 的代码。
if(isset($_POST['check'])) { //things to insert }
当我选择一个复选框代码插入每条记录时,当我选择所有复选框时,它也会插入每条记录(所有数据)。但是当我不选择复选框时,插入是空的(好)。 这个复选框有什么问题吗?
最佳答案
仅在选中时才通过 POST 发送复选框。如果未选中,则不会发送。也许您期望如果选中则值为“on”,如果未选中则值为“off”,但是不!如果选中,您只会收到“on”,否则不会收到任何消息。因此,如果您收到复选框(在您的帖子集中使用 isset($_POST['checkbox_name']') 变量进行检查 1、true、'Y' 或数据库中用于 bool 值的任何内容。如果您没有收到它! isset() 然后设置 0、false 或“N”。禁用 INPUT 元素的情况相同。它们的值不会发送到服务器。
<form action"processor.php" method="post">
<input name="data[]"><input type="checkbox" name="check[]">
<input name="data[]"><input type="checkbox" name="check[]">
<input name="data[]"><input type="checkbox" name="check[]">
<input type="submit" value="Save">
</form>
在您的processor.php 文件中:
$data=$_POST['data']; //array received
$checks=$_POST['check']; //array received (checked only)
foreach($checks as $key=>$check) //loop through all checks that are sent
{
$value=$data[$key]; //do whatever you want with corresponding data
}
关于mysql - 当复选框被选中时如何将表单数据插入到mysql?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38720542/