嘿我想在我的网站上添加一个简单的联系人框。我已经按照在线教程进行了操作,但它们似乎从未按照它们的方式工作: 我在phpMyadmin上设置了一个名为comment的表,名为comment和3列:id,name和comment。我已将此代码用于评论框页面... index.php
<html>
<form action="post_comment.php" method="POST">
<input type="text" name="name" value="Your Name"><br>
<textarea name="comment" cols="50" rows="2">Enter your query and contact details</textarea><br>
<input type="submit" value="Submit">
</form>
然后我有另一个名为post_comment.php的页面,上面有mysql编码......
<?php
mysql_connect("localhost","root","");
mysql_select_db("comment");
$name = $_POST["name"];
$comment = $_POST["comment"];
$comment_length = strlen($comment);
if($comment_length > 100)
{
header("location: index.php?error=1")
}
else
{
mysql_query("INSERT INTO comment VALUES('','$name','$comment')")
header("location: index.php")
}
?>
但是,一旦我在输入框中输入详细信息而不是发送到我的表格的详细信息,我就会收到此错误
解析错误:语法错误,意外的文件结束,期待变量
(T_VARIABLE) or ${ (T_DOLLAR_OPEN_CURLY_BRACES) or {$ (T_CURLY_OPEN)
in C:\xampp\htdocs\tutorials\contact1.php on line 16
我的代码第16行只写了else语句。有人看看,因为我知道这是基本的,但我刚刚开始。感谢Advance.Paul
答案 0 :(得分:2)
请,请查阅并了解SQL注入。不要将用户文本直接放入您的查询中,或者只是要求某人与您联系。如果“root”真的是你的登录,那就更糟了......利用权限较少的用户帐户。此外,您应该使用PDO或mysqli,因为不推荐使用mysql扩展。
那就是说,这是你的代码,有些修复以消除用户输入和修复的语法错误:
<?php
$conn = mysql_connect("localhost","root","");
mysql_select_db("comment");
$name = mysql_real_escape_string($_POST["name"], $conn);
$comment = mysql_real_escape_string($_POST["comment"], $conn);
$comment_length = strlen($comment);
if($comment_length > 100)
{
header("location: index.php?error=1");
}
else
{
mysql_query("INSERT INTO comment VALUES('','$name','$comment')");
header("location: index.php");
}
答案 1 :(得分:0)
注意你的语法。我在下面更正了它,但if语句中的每个函数调用都没有';'。
<?php
mysql_connect("localhost","root","");
mysql_select_db("comment");
$name = $_POST["name"];
$comment = $_POST["comment"];
$comment_length = strlen($comment);
if($comment_length > 100)
{
header("location: index.php?error=1");
}
else
{
mysql_query("INSERT INTO comment VALUES('','$name','$comment')");
header("location: index.php");
}
?>