我正在为我的PM系统使用colorbox。我添加了一个trash-btn,以便用户可以随时删除他们的邮件。当用户打开他的PM(颜色框)并单击trash-btn以删除消息时,它不会删除它。每当我直接浏览消息并按下按钮时,它都可以正常工作。因此,只有在打开彩色盒时才能正常工作。
由于我是一个新手,并且不太了解javascript,我希望如果有人能帮助我升级。这是我的已编辑代码
read_message.php表单(在彩盒中打开)
echo '
<div class="inboxMessage">
<div class="inboxMessageImg NoNewMsg"></div>
<div class="inboxMessageHeader">
<a id="ajax" class="inboxMessageLink" onclick="showMessage('.$row['message_id'].')">'.$row['message_title'].'</a>
<p class="inboxMessageStatus Read">'.$inboxMessageStatus_Read.'</p>
</div>
<div class="inboxMessageDescription">'.$inboxMessageDescription.'</div>
<div class="inboxMessageActions">
<form method="post" action="message/delete_message.php">
<input type="hidden" value="'.$row['message_title'].'" name="message_title">
<input type="hidden" value="'.$row['message_id'].'" name="message_id">
<input type="submit" class="deleteMessageIcon" value="" name="deleteMessage">
</form>
</div>
</div>';
这是delete_message.php页面
<?php
include '../../includes/db_connect.php';
sec_session_start();
//Delete bericht uit db
if (isset($_POST['deleteMessage'])) {
$msgID = $POST['message_id'];
$msgTitle = $POST['message_title'];
$deleteMessage = mysqli_query($mysqli,"DELETE FROM messages WHERE message_title = '$msgTitle' AND message_id = '$msgID'") OR die(mysql_error($mysqli));
if($deleteMessage) {
echo "Deleted";
}else{
echo "Error - Try again";
}
}
?>
如果您需要更多信息,请告诉我们。
提前致谢!
PS - 我知道任何人都可以更改表单中的邮件ID和标题,这样他就可以删除邮件。首先,用户需要知道任何elses消息的整个标题。除此之外,我将创建一个随机数,它将是message_id,因此不容易获取/找到消息ID - 即时工作。首先,删除功能需要正常工作。
答案 0 :(得分:0)
我想我看到了你的错误:
如果查询返回并且什么都不做是因为条件错误。如果您在PHPMyAdmin中尝试查询,那么查询就可以了,我唯一能想到的就是这一部分:
$msgID = $POST['message_id'];
$msgTitle = $POST['message_title'];
它应该是:
$msgID = $_POST['message_id'];
$msgTitle = $_POST['message_title'];
如果不起作用:
print_r("DELETE FROM messages WHERE message_title = '$msgTitle' AND message_id = '$msgID'");
让我们知道输出