【发布时间】:2016-09-07 16:30:53
【问题描述】:
我创建了一个简单的消息系统。注册用户可以编写、查看/阅读消息。 我在查看消息时遇到了麻烦。它查看数据库中的所有消息。
在我的 inbox.php -> 可以阅读/回复消息。 每条消息的链接都有一个变量来获取特定的消息 id。 例如:www.web.com/user/message.php?message_id=1234
现在当链接加载时。它将加载消息/回复。我使用此代码来获取 message_id 的值。 $message_id=intval($_GET['message_id']);
不幸的是,如果我删除/更改链接上 message_id 的值(例如 www.web.com/user/message.php?message_id=),它会加载用户的所有消息。
在我的数据库上,父帖子 ID 是那些 'message_parent_post_id' = '0'; 如果是子帖子,则“message_parent_post_id”列应等于父帖子 ID。
if($message_id= intval($_GET['message_id'])){
$sql = "SELECT * FROM tblmessage WHERE message_id= '{$message_id}'";
$the_message = db::select_row($sql);//For ParentPostid#
$message_post_id = $the_message ['message_id']; }
//要加载消息,问题来了
查看第一条消息(父帖子)
<?=date('M d, Y h:m a',strtotime($the_message ['message_date_added']))?>
<br />
<? echo nl2br($the_message ['message_message'])?>
查看回复(子帖子)
<? $sql = "SELECT * FROM tblmessage WHERE message_parent_post_id = '{$message_post_id}' ORDER BY message_date_added DESC";?>
<? $u_message = db::select($sql); ?> //children posts
<? foreach ($u_message as $messages){ ?>
<?=date('M d, Y h:m a',strtotime($messages['message_date_added']))?><br />
<?=nl2br($messages['message_message'])?>
我想要在这里不要更改数据库结构,但更改应该在我的代码上。我想安全地查看特定用户的消息。
【问题讨论】:
-
你的代码真的是这样吗(每一行都以
<?开头)? -
@Dagon,是的,它正在工作,我只是粘贴不包括、