2012-09-05 90 views
1

我發生了一件奇怪的事情。如果我轉到我的網站的主目標網頁,然後點擊並將產品添加到購物車,則會保存一個名爲'cartID'的PHP會話變量。這樣客戶可以繼續添加物品到他們的購物車而不會丟失他們的購物車物品。在.htaccess中使用rewriteRule時會丟失會話變量

如果我繞過主目標頁面並直接進入產品頁面(如通過書籤或谷歌搜索),然後將該項目添加到購物車,但會話變量'cartID'已創建,一旦客戶離開購物車頁面,'cartID'變量丟失......這將清空他們的購物車。

添加項目(S)到購物車中使用在.htaccess一個重寫規則的兩種方法:(

重寫規則^克C(。)■SS((。)。 )p(。)/(。)的.htm $ onlineOrder.php?GRPID = $ 1 & catSel = $ 16 & subCat1ID = $ 3 & subCat2ID = $ 4 & prodSel = $ 5 & $ 6 QSA]

哪些工作正常,但如果客戶沒有首先轉到主目標網頁,則在購物車添加到購物車後創建的'cartID'會話變量將在離開購物車頁面時丟失。即使產品頁面的兩個鏈接都完全相同。

有關爲什麼直接進入產品頁面無法正常工作的想法?

+0

檢查會話ID始終保持不變。如果你的cookie設置不合理,你可能每次都會得到一個新的清理會話,導致變量「丟失」。 –

+0

您是否在要訪問會話的頁面上調用session_start()?同時檢查你的date_time區域設置是否正確,以免你立即過期。 – Niborb

+0

我在我想訪問會話的頁面上使用session_start()。我剛剛檢查並發現,從主着陸頁開始時,會話ID在所有頁面上保持不變。當直接進入產品頁面時,會話ID會在每一頁上從這一點開始改變。爲什麼會這樣呢? – user1649684

回答