我花了好几天的时间试图找出这个无济于事。我已经检查了PHP文档以及有关“未定义索引”通知的多个其他形式问题,以及似乎通常的解决方案“isset()”函数。未定义的指数通知
但我无法解决我的情况。
下面是代码:关于与$ SQL变量的行
<form action="" method="post">
<!-- Here are all the form fields -->
<input type="submit" name="send" value="send"/>
</form>
<?php
$con = mysql_connect("#","#","#");
if (!$con)
{
die('Could not connect: ' . mysql_error());
}
mysql_select_db("#", $con);
$sql="
INSERT INTO events (e_date, e_time, e_type, e_name)
VALUES ('$_POST[form_e_date]','$_POST[form_e_time]','$_POST[form_e_type]','$_POST[form_e_name]')";
if (!mysql_query($sql,$con))
{
die('Error: ' . mysql_error());
}
echo "1 record added";
mysql_close($con)
?>
4个启事出现为开头的“价值”,指的是form_e_date等
我询问一个道歉我意识到的问题有点频繁,但我尝试了其他人的解决方案,这些解决方案对我来说没有任何作用,否则我没有正确实施它们。
请帮忙,请随时留下任何关于我的代码的建设性反馈,因为我是一个新手。
谢谢!
哪些注意事项和错误将它们粘贴到你的问题 – 2012-03-28 23:52:13
$ _ POST [form_e_time]应该是$ _ POST [“form_e_time”],除非form_e_time被定义为一个常数,同样,你引用的任何其他关联数组索引,无论是你自己的数组还是超全局...这个问题每周回答几十次 – 2012-03-28 23:53:26
但是请注意,直接从用户输入插入是非常危险的,所有的用户输入都应该在用于任何类型的数据库语句之前进行转义。 – dldnh 2012-03-29 00:01:07