看板 PHP 關於我們 聯絡資訊
大家好!! 小弟最近在練習購物車的作法 , 把商品加入購物車時 , 我是新增資料到db 用 session_id 去判斷不同的使用者 這個MOMENT!! BUG來了 因為使用者有分會員跟不是會員 我自己在測試的時後有發現 , 如果使用同一個瀏覽器 , 先登入會員把商品加入購物車 , 登出之後(同一個瀏覽器) , 再去購物車的畫面看 會發現有前一個會員加入的商品 , 看一下資料表發現是 session_id 重複 orz 想請問大家有沒有更好的方式可以去判斷這種狀況 謝謝大家 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 1.34.239.15
LaPass:登出時呼叫 session_destroy() 01/06 11:00
dlikeayu:一樓正姐 01/06 11:36
感謝樓上給的建議 , 可是我剛測試一下 , 不知道為甚麼登出之後 , 產生的 session_id 不變 >< 這是我測試的程式碼: <?php session_start(); echo 'OLD : '.session_id().'<Hr>'; echo '刪除 session_id'.'<hr>'; session_destroy(); session_start(); echo 'NEW : '.session_id().'<Hr>'; ?> 麻煩大家了 >< ※ 編輯: chihlee5566 來自: 1.34.239.15 (01/06 11:52)
MOONRAKER:都摧毀了就不會有前一個人的商品存在裡面 管他重不重覆 01/06 11:54
rickysu:session_destroy只會清除SESSION資料,session_id 並不會 01/06 13:30
rickysu:重新產生。請改用 session_regenerate_id 。 01/06 13:31
LaPass:等等... 你是把session_id當成資料庫的KEY喔? 01/06 13:55
LaPass:那就重新產生ID像樓上說的 01/06 13:55
chihlee5566:可以了 感謝大家 這邊真是臥虎藏龍阿!! 01/06 17:53
xxxzzz:加入購物車的商品應該跟使用者帳號比較好吧 01/08 01:39