2011-10-04 124 views
2

我爲用戶存儲一個cookie,如果他確實查看了線程 - 該cookie包含每個線程中最後一篇文章的unix時間,那麼我會比較實際cookie數據和線程上一篇文章。閱讀許多cookies的方式

每個漂亮的論壇,都有一個默認頁面,包含部分和論壇列表。現在如何閱讀我在論壇的每個帖子中存儲的這些cookie?

我在想的東西,如:

foreach($threads as $thread) { 
if($_COOKIE[@PREFIX."_thread".$thread['id']] < $thread['lastpost']) 
    //do action , in case if there are some new posts 
else 
    //do action, in there aren't new posts. 
} 

我得分析,現在10後來甚至數千個線程。它會不會損害服務器的性能?

回答

2

我不認爲這是一個很好的方式來做到這一點,基於沒有論壇軟件的事實。首先,如果用戶清除了Cookie,或者使用了不同的瀏覽器,那麼所有這些都將丟失。

假設你有一個線程和用戶表,我會添加另一個表來記錄他們上次看到該線程時。

TABLE user_thread_view 
{ 
    thread_id 
    user_id 
    created (timestamp) 
} 

然後,當你拔出線程列表上論壇(也就是每頁10-20)您可以添加一個電話到這個表,看是否「創造」的匹配該用戶和線程小於當前last_modified的線程。

+0

是的,那很好。但請記住,客人也可以查看論壇和主題。在這種情況下我需要做什麼? – Lucas

+1

您不會跟蹤客人的新主題,因爲他們全都是新客人。 – Xeoncross

+0

不是。查看任何論壇引擎行爲,如myBB或vBulletin,也是punBB。 – Lucas