2012-07-17 54 views
0
<?php 
    $sql = mysql_connect("localhost" , "root" , "usbw") or die(mysql_error); 
    mysql_select_db("guestbook" , $sql); 

    if($_SERVER['REQUEST_METHOD'] == 'POST') (

     $user = mysql_real_escape_string($_POST['user']); 
     $message = mysql_real_escape_string($_POST['message']); 

     $query = mysql_query("INSERT INTO message (user,message) VALUES ('$user' , '$message'"); 
     echo ("Message succesfully added."); 
    ) 
?> 

<html> 
    <head> 
     <title>Guestbook</title> 
    </head> 
    <form action="index.php" method="post"> 
     User: <input type="text" name="user"/><br> 
     Message: <textarea name="message"></textarea> 
     <input type="submit" value="Post!"/> 
    </form> 
</html> 

<?php 
    $result = mysql_query("SELECT * FROM message ORDER BY id DESC"); 
    while($row = mysql_fetch_array($result)) (

    ) 
?> 
<table> 
    <tr> 
     <td>User:</td> 
     <td><?php echo $row['user'] ?></td> 
    </tr> 
     <td>Message:</td> 
     <td><?php echo $row['message'] ?></td> 
</table> 
<hr /> 
<?php 
) 
?> 

嘿!我試圖創建一個簡單的PHP留言,但我不斷收到以下錯誤:PHP留言板錯誤

Parse error: syntax error, unexpected ';' in
/Applications/XAMPP/xamppfiles/htdocs/g_book/index.php on line 7

任何人都可以看到我要去哪裏錯了嗎?

+0

呼應值大括號$ _POST ['user']''。 – alfasin 2012-07-17 17:15:28

+3

請不要使用'mysql_ *'函數來編寫新代碼。他們不再維護,社區已經開始[棄用程序](http://goo.gl/KJveJ)。查看[*紅色框*](http://goo.gl/GPmFd)?相反,您應該瞭解[準備好的語句](http://goo.gl/vn8zQ)並使用[PDO](http://php.net/pdo)或[MySQLi](http://php.net/ mysqli的)。如果你不能決定哪些,[這篇文章](http://goo.gl/3gqF9)會幫助你。如果你選擇PDO,[這裏是很好的教程](http://goo.gl/vFWnC)。 – 2012-07-17 17:16:19

+2

'if($ _ SERVER ['REQUEST_METHOD'] =='POST')(',應該是'if($ _ SERVER ['REQUEST_METHOD'] =='POST'){' – 2012-07-17 17:17:19

回答

6

()改爲{...} 這裏,

if($_SERVER['REQUEST_METHOD'] == 'POST') { 

} 


while($row = mysql_fetch_array($result)) { 

} 
+0

我不敢相信OP有這個錯誤的 – 2012-07-17 17:17:54

+4

@AlvinWong,你是新來的嗎?:D – Adi 2012-07-17 17:19:29

+0

@Adnan:P現在我猜OP會留下答案,而不是選擇一個被接受的答案 – 2012-07-17 17:21:38

1

你的 「如果」,在第5行語句 「(」 和結尾的 「)」 的大括號,而不是「{ 「和」}「。同樣的問題出現在「while」聲明中。

0

第5行中的1-(if)語句以「(」開頭並以「)」結尾,您應該使用大括號「{」,「}」。和「while」有sam錯誤。 2 - 你關閉了30行的while語句在HTML查看錶中的數據,所以你想要得到的數據看之前,所以你應該刪除線30 完全正確的代碼

 <?php 
$sql = mysql_connect("localhost" , "root" , "usbw") or die(mysql_error); 
mysql_select_db("guestbook" , $sql); 

if($_SERVER['REQUEST_METHOD'] == 'POST') { 

    $user = mysql_real_escape_string($_POST['user']); 
    $message = mysql_real_escape_string($_POST['message']); 

    $query = mysql_query("INSERT INTO message (user,message) VALUES ('$user' , '$message'"); 
    echo ("Message succesfully added."); 
} 
    ?> 

    <html> 
    <head> 
    <title>Guestbook</title> 
</head> 
<form action="index.php" method="post"> 
    User: <input type="text" name="user"/><br> 
    Message: <textarea name="message"></textarea> 
    <input type="submit" value="Post!"/> 
</form> 
</html> 

    <?php 
$result = mysql_query("SELECT * FROM message ORDER BY id DESC"); 
while($row = mysql_fetch_array($result)) { 


    ?> 
    <table> 
    <tr> 
     <td>User:</td> 
     <td><?php echo $row['user'] ?></td> 
    </tr> 
    <td>Message:</td> 
    <td><?php echo $row['message'] ?></td> 
    </table> 
    <hr /> 
<?php 
} 
    ?>