表单数据已正确发布到电子邮件但未正确发布到数据库

时间:2015-11-11 05:11:26

标签: php mysql database post zero

我有一个表格,人们可以选择是否在半小时内上课(例如,开始或在12:30结束),或者他们是否只在整个小时结束的课程(开始或结束于下午1:00) ,例如)。

这是一个调用一些javascript的复选框。提交表单时,数据通过POST发送到php脚本,该脚本通过电子邮件发送信息,也发送到将脚本插入mySQL数据库的php脚本。

选中此复选框后,即“是”,发送的电子邮件在邮件中包含POST字段“是”。但是,无论选择什么,数据库总是向mySQL列添加一个“0”零 - 当选择“是”时,我怎样才能让它向数据库发送'是',其他一切正常。

感谢帮助,代码如下:)

html表单

<input type = "checkbox" name="halfClass" id="halfClass" value="Yes, I have half hour classes." style="width: 50px" onclick = "instructions(true)" >Yes<label style="width: 320px"><strong>Do you have some classes on the half hour?</strong></label></div>

php发送电子邮件

$halfClass = $_POST['halfClass'];

$message = <<<EOD
<strong>$halfClass</strong> <br> <br />
EOD;

php提交给db

$sql = "INSERT INTO my_awesome_table (halfClass) VALUES ('$halfClass')";

Image: What the Database Table shows :(

3 个答案:

答案 0 :(得分:0)

检查halfClass列的数据类型。如果是数字类型,请将其更改为string类型。

答案 1 :(得分:0)

表格的数据类型是什么?可能是因为数据类型是数字而不是字符串。如果varchar已经不是varchar,请使用varchar来修复。

答案 2 :(得分:0)

如果halfClass整数类型,请使用:

$sql = "INSERT INTO my_awesome_table (halfClass) VALUES (".$halfClass.")";

如果halfClass属于 varchar 类型,请使用:

$sql = "INSERT INTO my_awesome_table (halfClass) VALUES ('". $halfClass. "')";