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 未将复选框值传递到数据库_Php_Mysql - Fatal编程技术网

Php 未将复选框值传递到数据库

Php 未将复选框值传递到数据库,php,mysql,Php,Mysql,我使用的MySQL表的结构如下: `login` ( `loginid` int(11) unsigned NOT NULL auto_increment, `username` varchar(30) NOT NULL, `password` varchar(50) NOT NULL, `email` varchar(255) NOT NULL, `actcode` varchar(45) NOT NULL, `disabled` tinyint(1) NOT NULL

我使用的MySQL表的结构如下:

`login` (
  `loginid` int(11) unsigned NOT NULL auto_increment,
  `username` varchar(30) NOT NULL,
  `password` varchar(50) NOT NULL,
  `email` varchar(255) NOT NULL,
  `actcode` varchar(45) NOT NULL,
  `disabled` tinyint(1) NOT NULL default '0',
  `activated` tinyint(1) NOT NULL default '0',
  `created` timestamp NOT NULL default CURRENT_TIMESTAMP,
  `points` bigint(9) NOT NULL,
  `website` varchar(1000) NOT NULL,
  `location` varchar(1000) NOT NULL,
  `age` varchar(1000) NOT NULL,
  `gender` varchar(1000) NOT NULL,
  `subcheckr` tinyint(1) NOT NULL,
  PRIMARY KEY  (`loginid`)
)
我有几个字段,用户可以在注册时填写。它们都工作正常(信息被传输到数据库)。我还有一个复选框供用户在注册时选择。但是,当用户选择复选框时,值“1”不会传输到数据库。复选框在下面的代码和数据库中都有“subcheckr”的名称

知道为什么复选框不起作用吗

提前感谢,

约翰

当用户注册时,我使用以下代码:

function show_registration_form(){

    echo '<form action="http://www...com/.../register.php" method="post">  

    <div class="register"><label for="username">Select Username:</label></div> 
    <div class="registerform"><input name="username" type="text" id="username" maxlength="30"></div>

    <div class="passwordregister"><label for="password">Select Password:</label></div> 
    <div class="passwordregisterform"><input name="password" type="password" id="password" maxlength="15"></div>

    <div class="passwordregister2"><label for="password2">Re-type password:</label></div> 
    <div class="passwordregister2form"><input name="password2" type="password" id="password2" maxlength="15"></div>

    <div class="emailregister"><label for="email">Your Email (required):</label></div> 
    <div class="emailregisterform"><input name="email" type="text" id="email" maxlength="255"></div> 


    <div class="websiteregister"><label for="website">Your Website (optional):</label></div> 
    <div class="websiteregisterform"><input name="website" type="text" id="website" maxlength="255"></div> 

    <div class="locationregister"><label for="website">Your Location (optional):</label></div> 
    <div class="locationregisterform"><input name="location" type="text" id="location" maxlength="255"></div>

    <div class="ageregister"><label for="website">Your Age (optional):</label></div> 
    <div class="ageregisterform"><input name="age" type="text" id="age" maxlength="255"></div>

    <div class="genderregister"><label for="website">Your Gender (optional):</label></div> 
    <div class="genderregisterform"><input name="gender" type="text" id="gender" maxlength="255"></div>

    <div class="subcheckr"><INPUT TYPE=CHECKBOX NAME="subcheckr">Click here to receive updates via email (optional).<P></div>

    <p class="registerbutton"> 
    <input name="register" type="submit" value="Register"> 
    </p> 

    </form>';

}
但是,当用户选择复选框时,值“1”不会传输到数据库

您的复选框没有
属性,是吗

<INPUT TYPE=CHECKBOX NAME="subcheckr">

但是,当用户选择复选框时,值“1”不会传输到数据库

您的复选框没有
属性,是吗

<INPUT TYPE=CHECKBOX NAME="subcheckr">

替换此行:

<INPUT TYPE=CHECKBOX NAME="subcheckr">

与:


替换此行:

<INPUT TYPE=CHECKBOX NAME="subcheckr">

与:


我使用复选框最简单的方法不是拉取值,而是检查它们是否已设置,然后相应地输入一个值:

$checkboxDatabaseValue = (isset($_POST["checkboxname"]) ? 1 : 0);

对我来说总是有效的。

我使用复选框最简单的方法是不提取值,而是检查它们是否已设置,然后相应地输入一个值:

$checkboxDatabaseValue = (isset($_POST["checkboxname"]) ? 1 : 0);

始终适用于我。

看起来您并没有在HTML中为subcheckr复选框指定值

我认为如果不指定值,HTML复选框将返回“开”或“关”。您应该将该行更改为:

<INPUT TYPE=CHECKBOX NAME="subcheckr" value="1">

看起来您没有在HTML中为subcheckr复选框指定值

我认为如果不指定值,HTML复选框将返回“开”或“关”。您应该将该行更改为:

<INPUT TYPE=CHECKBOX NAME="subcheckr" value="1">


如前所述,您没有指定复选框的
值。如果未指定默认值,则默认值为
上的
。如前所述,您未指定复选框的
。如果未指定,则默认值为
上的