我正在开展一个小型社交网络项目。到目前为止,我有一个消息系统,一切正常,用户可以发送和接收消息。我正在寻找一种方法让用户删除自己的消息。
'delete'行已设置为通过echo命令显示每条消息的一侧。 有没有办法让这个文本可以点击,以便当用户点击它时,然后将数据库中的值从“0”更改为“1”?
代码:
<?php
$page_title = "Messages";
include('includes/header.php');
confirm_logged_in();
include('includes/mod_login/login_form.php');
?>
<div class="modtitle">
<div class="modtitle-text">Inbox</div>
</div>
<div class="modcontent">
<strong>Inbox</strong> | <a href="messages_sent.php">Sent Messages</a>
| <a href="messages_deleted.php">Deleted</a> <br /><br />
<table
width="100%" border="0" cellpadding="5" cellspacing="0">
<tr
bgcolor="#CCCCCC">
<td width="30%"><strong>Recieved</strong></td>
<td width="20%"><strong>From</strong></td>
<td width="28%"><strong>Subject</strong></td>
<td width="0%"><strong>Read/Unread</strong></td>
<td width="0%"><strong>Delete</strong></td>
</tr>
<?php
$inbox_set = get_inbox();
while ($inbox =
mysql_fetch_array($inbox_set)) {
?>
<?php if ($inbox['read'] == 0) { ?> <tr bgcolor="#6666B3"> <?php }
if ($inbox['read'] == 1) { ?> <tr>
<?php } ?>
<td><?php
$datesent1 = $inbox['date_sent'];
echo "$datesent1"; ?></td>
<a href="profile.php?id={$inbox['from_user_id']}"><td><?php echo "<a
href=\"profile.php?id={$inbox['from_user_id']}\">{$inbox['display_name']}";
?></td></a>
<td><?php echo "<strong><a href=\"read_message.php?msg={$inbox[0]}\">{$inbox['subject']}</a></strong>";
?></td>
<td><?php if ($inbox['read'] == 0) {
echo "Unread";
}
if ($inbox['read'] == 1) {
echo "Read";
}
?></td>
<td>
<?php
if ($inbox['delete'] == 0) {
echo "Delete";
}
if ($inbox['delete'] == 1) {
echo "$deleted_set;";
}
; ?></td>
</td>
<?php }
?>
</tr> </table>
</div>
<?php include('includes/footer.php'); ?>
答案 0 :(得分:0)
使用AJAX请求在服务器端触发正确的操作。
请记住检查授权,否则可能会删除其他用户拥有的邮件。
答案 1 :(得分:0)
使用jQuery + Ajax完成类似这样的任务
$.ajax({
type:"POST",
url: url, // action page url
data: "id="+id,
success: function(msg){
if(msg) {
//action here
}
});