我想允许我的用户通过链接从数据库中删除他们自己的评论。但是我遇到的问题是我的评论没有删除,我没有收到任何错误消息。
这是我的“salonpage.php”中“deletepost.php”页面的链接:
if ($row['userID'] == $_SESSION['userID']){
$str_comments .=" <p><a href='deletepost.php?pID=".$row['ID']."&salonid=$salonid'>Delete comment</a>";
这是我的“deletepost.php”页面中的代码:
<?php
require_once("checklog.php");
require_once("nifunctions.php");
$postID = trim($_GET['pID']);
if ($postID != '' && is_numeric($postID))
{
if (!$db_server)
{
die("unable to connect to database: ".mysqli_connect_error($db_server));
}
else
{
$_GET['salonid'] and ($_GET['salonid'] != '');
$salonid = clean_string($db_server, $_GET['salonid']);
mysqli_select_db($db_server, $db_database) or die ("couldnt find database");
//Delete post from comments
$query= "DELETE FROM comments WHERE ID=$postID";
mysqli_query($db_server,$query) or
die("comment delete failed" . mysqli_error($db_server));
//redirect back to index page
header("Location: salonpage.php?salonid=$salonid");
}
//db close
mysqli_close($db_server);
}
?>
答案 0 :(得分:1)
通过更改我的查询来修复此问题:
//Print out existing comment
$query = "SELECT * FROM comments JOIN users ON comments.userID = users.ID WHERE salonID=$salonid";
为:
//Print out existing comment
$query = "SELECT comments.*, users.Username FROM comments JOIN users ON comments.userID = users.ID WHERE salonID=$salonid";
感谢您的帮助!
答案 1 :(得分:0)
检查$_GET['pID']
值以确保它已设置。
如果没有,您的查询将不会被执行。你的第一个if会返回false,你最后会关闭你的连接。
如果没有,如果查询将在没有错误的情况下执行,但找不到任何要删除的寄存器。