我是PHP的新手,我正在创建一个论坛。所有文件都可以工作,除了一个文件add_topic.php。
它给我一个错误说:
解析错误:语法错误,第25行/home/a3885465/public_html/add_topic.php中的意外T_CLASS
我知道这可能就行了:
}
else{
echo "ERROR";
}
mysql_close();
但整个代码以下是以防万一。
如果您有任何想法,我们将非常感谢,谢谢!
add_topic.php的代码
$host=""host"";
$username="username";
$password="password";
$db_name ="database_name";
$tbl_name="forum_question";// Table name
// Connect to server and select database.
mysql_connect("$host", "$username", "$password")or die("cannot connect");
mysql_select_db("$db_name")or die("cannot select DB");
// get data that sent from form
$topic= $_POST['topic'];
$detail= $_POST['detail'];
$name= $_POST['name'];
$email= $_POST['email'];
$datetime=date("d/m/y h:i:s");//create date time
$sql="INSERT INTO $tbl_name(topic, detail, name, email, datetime)VALUES('$topic',
'$detail', '$name', '$email', '$datetime')";
$result=mysql_query($sql);
if($result){
echo "Successful<BR>";
echo "<a href=main_forum.php>View your topic</a>";
else{
echo "ERROR";
}
mysql_close();
?>
答案 0 :(得分:3)
加: 你“双引号主持人。
$host=""host""; // Host name
替换为
$host="host"; // Host name
但是说真的:你应该给自己一个体面的IDE!
答案 1 :(得分:1)
第25行你有一个未转义的<?php
:
<p class="p1"><span class="s1"></span><?php<span class="s2"><br>
应该是:
<p class="p1"><span class="s1"></span><?php<span class="s2"><br>
答案 2 :(得分:1)
三年后,我来了:
您的解析器可能会抱怨第一行""host""
周围的四重引号。还
echo "<a href=main_forum.php>View your topic</a>";
应该是
echo "<a href=\"main_forum.php\">View your topic</a>";
最后,代码充满了SQL注入的机会。在将输入放入查询之前屏蔽输入。有很多聪明的技巧可以做到这一点,比如mysql_real_escape_string
和大量关于这个主题的博客文章。
我个人发现在输入上使用base64
,并且只要你不介意额外的空间,每当我需要处理它时解码它效果最好。