2012-12-17 116 views
1

我已經爲我的網站創建了一個論壇腳本,所有的工作都可以正常工作,但是我認爲,我試圖爲訪問的類別和帖子創建會話,所以如果帖子沒有被即登錄,腳本顯示圖像「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'>"; 
} 
} 

工作,但是當用戶註銷和登錄再次顯示所有帖子都沒有閱讀。

任何想法如何解決這個問題?

回答

0

只有當您打開瀏覽器窗口並導航到某個站點時,會話才處於活動狀態,直到您的代碼重置會話或用戶關閉瀏覽器。

因此,如果您希望它在不同會話之間向用戶提供,那麼在會話中存儲讀取/未讀標誌是不可接受的。

相反,您應該創建一張表並將其與您的論壇帖子一起存儲,該帖子具有UserId,PostID的條目,每次用戶查看帖子時都會添加一行。然後使用此表來決定它是否被讀取(表中有一行)或未讀(沒有與用戶標識/ postid匹配的行)