会话帖子链接已读/未读

时间:2012-12-17 18:01:42

标签: session hyperlink

我已经为我的网站创建了一个论坛脚本,所有工作正常但我在一个想法上被阻止,我尝试为访问类别和帖子创建一个会话,所以如果登录的用户没有读取帖子,脚本显示图像“not_read.png”,否则显示“read.png”

所以我的代码是这样的:

$ctid = isset($_REQUEST['ctid']) ? $_REQUEST['ctid'] : '';
if ($action == 'spost'){
$select_posts = "SELECT * FROM forum_posts WHERE cat_id = '$ctid'....

session_set_cookie_params(0);
session_start();        
$_SESSION["CAT-$ctid"] = $ctid;
$ses_post = $_SESSION["CAT-$post_id"];
if ($ses_post == $post_id) {

echo "<img src='read.png'>";
}else{
echo "<img src='no_read.png'>";
}
}

正在运行,但是当用户退出并再次登录时,所有帖子显示为未读取。

我知道如何解决这个问题?

1 个答案:

答案 0 :(得分:0)

会话仅在您打开浏览器窗口并导航到网站的生命周期内保持活动状态,直到您的代码重置会话或用户关闭浏览器为止。

因此,如果您希望在不同会话之间向用户提供读取/未读标记,则将其存储在会话中是不可接受的。

相反,您应该创建一个表并将其与您的论坛帖子一起存储,其中包含UserId,PostID的条目,每次用户查看帖子时都会添加一行。然后使用此表来确定它是否被读取(表中有一行)或未读(没有与userid / postid匹配的行)