2017-06-14 75 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重定向。