2011-05-17 190 views
2

我創建了一個「最近查看的項目」腳本,該腳本利用會話將所查看的產品插入到數據庫中。然後,如果有一個會話,它將拉動您查看的產品。會話或Cookie [PHP]

但是,這似乎是會議'明確'?

昨晚我瀏覽了大約10種產品,它很成功,但我後來繼續睡覺。一旦我醒來並再次測試,我的會話不再存在,並創建了一個新的會話。

編輯:昨天晚上睡覺前我讓電腦睡覺。

現在,這看起來並不理想,但我認爲我正處在成功的正確道路上。

你會如何處理這個問題? 我是否利用可用的最佳資源?

回答

2

這是正確的,會話有一個超時值。您可以通過參考PHP session configuration options來了解哪些設置會影響此設置。

作爲一種替代方法,您可以將其存儲在Cookie或數據庫中。使用Cookie,您的存儲容量有限。通過數據庫,您可以將數據附加到用戶,但支持匿名用戶變得更加困難。

+0

再次感謝您幫助我使用該腳本 – 2011-05-17 02:12:29

+0

因此,您認爲使用Cookie和會話將是足智多謀的 – 2011-05-17 02:14:54

+1

@RPM您可以使用Cookie臨時存儲來填充會話,但會話更難以使用,不要處理登錄的用戶,除非您有其他方式來識別它們。雖然有IP,但多個人可以來自同一個IP,並且IP地址也可能被欺騙。 – 2011-05-17 02:16:24

0

我也搜索了很多找到一個答案,但沒有得到任何東西...我認識到,只有我的大腦能幫助我,我找到了一種方法

集餅乾這樣

<?php if(isset($_COOKIE['recent'])) 

{$arr = $_COOKIE['recent']; 
$arr = $arr." ".$_REQUEST['id'];} 
setcookie('recent', $arr, time()+10000, '/'); 

?> 然後,

$pizza =$_COOKIE['recent']; 
$pieces = explode(" ", $pizza); 
$key=0; 
foreach ($pieces as $key => $value) { 

呼應這裏你想 }

什麼