【发布时间】:2012-04-30 12:27:54
【问题描述】:
这可以正常工作,但我突然收到此错误消息。 “错误信息: 脚本头过早结束:cust.php"
<?php
//contact to database
$user = '';
$pass = '';
$db_name=""; // Database name
$tbl_name="cust"; // Table name
// Create a connection to the MySql server
$conn = mysql_connect('', $user, $pass);
mysql_select_db("$db_name")or die("cannot select DB");
//Get data in local variable
$v_Fname=$_POST['First_Name'];
$v_Lname=$_POST['Last_Name'];
$v_FAdd=$_POST['First_Add_Line'];
$v_postCode=$_POST['Postcode'];
$v_Num=$_POST['ContactNum'];
$v_Email=$_POST['Email'];
// check for null values
if ($v_Fname=="" or $v_Lname=="" or $v_FAdd=="" or $v_postCode=="" or $v_Num=="" or $v_Email=="")
echo "All fields must be entered, hit back button and re-enter information";
else{
$query="INSERT INTO $tbl_name(First_Name,Last_Name,First_Add_Line,Postcode,ContactNum,Email) values('$v_Fname','$v_Lname','$v_FAdd','$v_postCode','$v_Num','$v_Email')";
mysql_query($query) or die(mysql_error());
echo "You have registered as a Customer, Thank you";
echo "<BR>";
echo "<a href='index.html'>Back to main page</a>";
}
mysql_close();
?>
请帮忙,提前谢谢你:)
【问题讨论】:
-
您的代码易受 SQL 注入攻击。您真的应该使用准备好的语句,您将变量作为参数传递到其中,这些参数不会针对 SQL 进行评估。如果您不知道我在说什么或如何解决它,请阅读 Bobby Tables 的故事。
-
@eggyal 一个小时前我刚做了一个关于 SQL 注入的讲座,真有趣。但安全并不是真正的问题。
-
在你被黑客入侵之前,你总是这么说;)除非应用程序仅供您个人使用,请始终注意安全性...
-
@adrien 只是我正在进行的小项目,它永远不会被发布:)
-
在问题中包含您的数据库的主机名、用户和密码可能不是一个好主意..
标签: php mysql sql-server database