Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/289.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 使用HTML复选框将1或0放入MySQL表_Php_Mysql_Html - Fatal编程技术网

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

Php 使用HTML复选框将1或0放入MySQL表,php,mysql,html,Php,Mysql,Html,我在表单中使用了一个简单的HTML复选框,在MySQL表中的一个名为“subcheck”的字段中,1代表checked,0代表unchecked 复选框是否默认为1表示“已选中”,0表示未选中?如果没有,我如何给它这些值 表格: MySQL表: `submission` ( `submissionid` int(11) unsigned NOT NULL auto_increment, `loginid` int(11) NOT NULL, `title` varchar(1000)

我在表单中使用了一个简单的HTML复选框,在MySQL表中的一个名为“subcheck”的字段中,1代表checked,0代表unchecked

复选框是否默认为1表示“已选中”,0表示未选中?如果没有,我如何给它这些值

表格:

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`)
)

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

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

如果复选框未选中,则根本不提交$subcheck

在PHP中,您应该编写:

if !(isset($_POST['subcheck']))
  $subcheck = 0;

mysql_query("INSERT INTO submission VALUES (NULL, '$uid', '$title', '$slug', '$cleanurl', '$displayurl', NULL, '$subcheck')");

您应该尝试if语句或三元条件语句。。 如果(isset($_POST['subcheck'])) $subcheck=1; 其他的 $subcheck=0

或者你可以试试 $subcheck=(isset($\u POST['subcheck']))?1 : 0;


在数据库中,u应该为子检查使用枚举类型,可以按如下方式使用

在表单页上
为确保始终发送1或0,您可以在html中插入与复选框相同的
名称
隐藏的输入:

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

//The checkbox
<input type="checkbox" name="subcheck" value="1" /> 
//输入是隐藏的
//复选框

这样,无论文本框是否设置,您都不需要签入服务器端;)if !(isset($_POST['subcheck'])) $subcheck = 0; mysql_query("INSERT INTO submission VALUES (NULL, '$uid', '$title', '$slug', '$cleanurl', '$displayurl', NULL, '$subcheck')");
    <input type="checkbox" name="status" value="1" >
    $status = (isset($_REQUEST['status']));
    if ($status == 1 )
      {
        $status = 1;
      }
    else
     {
       $status = 0;
     }
   echo $status;
//The input hidden
<input type="hidden" name="subcheck" value="0" />

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