我不是PHP專家,我試圖設置一個包含來自URL的引用代碼的cookie。例如:www.example.com?promotioncode=google
應該設置一個cookie名稱promocode,在=
和6個月到期後值。PHP Cookie使用URL中的變量
我可以檢索使用
$_GET['promotioncode']
的promotioncode,但我似乎無法插入cookie字符串這一點。我已經嘗試了幾種方法:
$id = 'promo';
$value = $_GET['promotioncode'];
$time = time()+60*60*24*180;
setcookie($id, $value, $time);
和
$id = 'promo';
$time = time()+60*60*24*180;
setcookie($id, $_GET['promotioncode'], $time);
,但它不工作。如果我使用單詞或數字作爲cookie值,那麼Cookie設置沒有問題。
我在想什麼/做錯了什麼?
你檢查了HTTP響應頭嗎?您嘗試設置cookie可能會失敗,原因是標頭已被髮送。你有沒有檢查你的錯誤日誌? – Gumbo 2011-06-04 15:40:30
這實際上是在一個magento安裝中,並且以與由magento生成的其他cookie相同的方式添加。如果將值設置爲123,它可以正常工作,問題是通過url中的參數拉動。 – Andy 2011-06-04 15:43:59
該代碼應該可以工作,並且在這裏有效。 你怎麼知道它不起作用?你檢查cookies或者你檢查setcookie()的返回值嗎?你有沒有申請$ _GET的內容?有什麼奇怪的嗎? – Sylverdrag 2011-06-09 16:11:30