2017-06-14 80 views
0

我想添加一個刪除按鈕,只有當用戶以管理員身份登錄時纔會顯示,刪除按鈕將刪除評論頁面上顯示的評論,何時點擊刪除鏈接,應從數據庫中刪除條目。 每當刪除鏈接被點擊時,一個白色的屏幕出現delete.php。 我無法正常工作,需要一些幫助。由於無法刪除在PHP中工作

的comments.php

<?php 
    $sql1 = "SELECT * from comments"; 
    $res1 = mysqli_query($connect, $sql1) or die(mysqli_error()); 

    while ($row1 = mysqli_fetch_assoc($res1)) { 
     if ($_SESSION['username'] == 'admin') { 
      echo "<tr><td>".$row1['username']."<br /> 
      <br />" .$row1['comment']."&nbsp;&nbsp;&nbsp; <a href='delete.php?id=".$row1['id']."'>Delete</a><br><hr /></td></tr>";  

     } else { 
     echo "<tr><td>".$row1['username']."<br /> <br />" .$row1['comment']."<hr /></td></tr>"; 

     } 


    } 

?> 

delete.php

<?php 

include_once("connect.php"); 
session_start(); 

    $id = $_GET['id']; 

    $sql = "DELETE * from comments where id = '".$id."' "; 
    $res = mysqli_query($connect, $sql); 
    if(($res)) { 
     echo "Records deleted successfully"; 
     header("location: Comments.php"); 
    } else { 
     echo "Could not delete record $sql" . mysqli_error($connect); 
    } 

?> 
+0

您的代碼易受SQL注入攻擊,您需要修復此問題。此外,您還需要檢查用戶是否是刪除頁面中的管理員,否則任何人都可以執行該腳本並刪除他們想要的任何內容。 – Enstage

+0

你把'session_start();'放在你的comments.php中了嗎?什麼是不工作,日誌中的錯誤,刪除鏈接不顯示...? – chrki

+0

當我點擊刪除去delete.php,但顯示白頁。在session_start();在頁面上,但在一個不同的PHP標籤內。 – zeuxis

回答

1

的標題(...)之前,您不能使用回聲。所以如果你刪除它,你的代碼應該會更好。

你的SQL請求是不正確的,你需要刪除*這樣的:

DELETE FROM comments where id = '".$id."'

而對於安全性,您需要添加一個模具();在每個標題('location:...')之後。每個人都很容易繞過HTTP重定向。