我對PHP很新穎(目前正在做一個大學項目)。我的網站是一個管理網站,約有3位管理員用戶可以登錄和更改網站等。目前,我對我的評論(用戶可以發佈到網站的評論)有刪除功能,但任何進入網站的人都可以看到刪除功能,並可以刪除任何機構的評論?PHP刪除評論按鈕
我想讓它只有我的管理員登錄後才能看到刪除功能,並且隨後成爲唯一可以刪除評論的人。我有一個用戶數據庫,其中包含名稱,密碼,用戶名和電子郵件列。我想知道如果有人可以請看看我的代碼,並告訴我如何改變這一點,只有當管理員登錄時,他們才能看到按鈕並刪除評論。
$str_message = "";
if (!$db_server){
die("Unable to connect to MySQL: " . mysqli_connect_error());
}else{
//if ($_SESSION['admin'] == 'yes') {
if(isset($_GET['delete'])){
$deleteq="DELETE FROM comments WHERE ID={$_GET['delete']} LIMIT 1";
$deleter=mysqli_query($db_server, $deleteq);
IF($deleter){
echo"<p>That message was deleted!</p>";}}
//}
//Test whether form has been submitted
if(trim($_POST['submit']) == "Submit"){
//Handle submission
$resp = recaptcha_check_answer ($privatekey,
$_SERVER["REMOTE_ADDR"],
$_POST["recaptcha_challenge_field"],
$_POST["recaptcha_response_field"]);
if (!$resp->is_valid) {
// What happens when the CAPTCHA was entered incorrectly
$str_message = "The reCAPTCHA wasn't entered correctly. Go back and try it
again.
(reCAPTCHA said: " . $resp->error . ")";
} else {
// Your code here to handle a successful verification
$comment = $_POST['comment'];
if($comment != ""){
$query = "INSERT INTO comments (comment) VALUES ('$comment')";
mysqli_query($db_server, $query) or die("Comment insert failed: " .
mysqli_error($db_server));
$str_message = "Thanks for your comment!";
}else{
$str_message = "Invalid form submission";
}
}
}
//Create page with or without submission
$query = "SELECT * FROM comments";
$result = mysqli_query($db_server, $query);
if (!$result) die("Database access failed: " . mysqli_error($db_server));
{
while($row = mysqli_fetch_array($result)){
$ID= $row['ID'];
$str_result .= "<p><em>Comment $j (" . $row['commDate'] .
")</em><br /> " .$row['comment'] . "</p>
<a href ='commentnow.php?delete=$ID
'>Delete</a><hr />";
}
mysqli_free_result($result);
} }
?>
無關,但我相當確定這是通常的做法,不刪除數據,而只是有一個刪除標誌。我會建議考慮這種方法。 – 2014-01-10 21:09:14
取消註釋在執行刪除操作之前檢查用戶是否爲管理員的代碼。 – Barmar
^然後在底部還添加一個if語句,根據用戶是否是管理員擁有兩個可能的'$ str_result'分配語句(如果用戶是管理員,顯然沒有刪除按鈕) – 2014-01-10 21:13:05