我有我刪除評論表單的一個問題。我想創建不知何故用戶刪除他們自己的評論,但到目前爲止,我只能設法刪除所有評論。它是否屬於自己並不重要。如何讓用戶刪除自己的評論?
這裏是我的形式:
<form action="<?php echo $editFormAction; ?>" method="POST" name="CommentForm">
<table>
<tr><td colspan="2"></td></tr><tr><td><input type="hidden" name="name" value="<?php
echo $_SESSION['MM_Username']; ?>" /></td></tr>
<tr><td colspan="2">Заглавие:</td></tr><tr><td><input type="text" name="title"
style="width:300px; height:20px;" /></td></tr>
<tr><td colspan="2">Коментар</td></tr>
<tr><td colspan="2"><textarea name="comment" style="width:450px; height:150px;">
</textarea></td></tr>
<tr><td colspan="2"><input type="submit" name="submit" value="Коментирай"
style="padding:5px; color:#069"/></td></tr>
</table>
<input type="hidden" name="MM_insert" value="CommentForm" />
</form><br /><br />
<?php
$getquery=mysql_query("SELECT * FROM comments ORDER BY id DESC");
while($rows=mysql_fetch_assoc($getquery))
{
$id=$rows['id'];
$title=$rows['title'];
$comment=$rows['comments'];
$MM_Username=$rows['name'];
$dellink="<a href=\"delete.php?id=" . $id . "\">ИЗТРИЙ</a>";
echo '<b><p style="background-color:#6CC; border-radius:10px; te"
;border:1px solid;">   Потребител:</b> ' . $MM_Username . ' <br /><b> 
Тема:</b> ' . $title . '</b><br /><b>  Коментар:</b><br />  ' . $comment .
'<br />' . $dellink .'</p><br />' ;
}
?>
,這是我delete.php:
<?php
include 'Connections/localhost.php';
mysql_query("DELETE FROM comments WHERE id = $_GET[id]")or die(msql_error()) ;
header('location: komentari.php');
?>
嗯,首先,你沒有做對用戶是否有任何檢查*允許*刪除評論。所以任何用戶都可以刪除任何評論。你的'delete.php'應該有一些授權檢查,以確保發出請求的用戶可以刪除評論。此外,這是***非常重要的***,您的代碼是*開放*到SQL注入攻擊。用戶不僅可以刪除評論,還可以完全控制你的服務器。請閱讀以下內容:http://www.php.net/manual/en/security.database.sql-injection.php – David
**危險**:您正在使用[an **過時的**數據庫API](http: //stackoverflow.com/q/12859942/19068)並且應該使用[現代替換](http://php.net/manual/en/mysqlinfo.api.choosing.php)。你也容易受到[SQL注入攻擊](http://bobby-tables.com/)**的影響,即一個現代化的API可以更容易[保護](http:// stackoverflow。com/questions/60174/best-way-to-prevent-sql-injection-in-php)自己從。 – Quentin
請勿將編輯鏈接用於編輯數據庫的操作。你會得到機器人(和預先代理)跟隨他們,並瘋狂刪除的東西。使用POST表單。 – Quentin