我定期在我的Twitter應用程序的回調頁面中設置Cookie。一切正常。Setcookie不會工作?
現在,我使用jQuery提交一個表單,並且回調函數激活一個PHP腳本。該腳本只需要將一個cookie設置爲$ _POST的序列化值;並且這些值運行正常(都是序列化和正常的,我將它們回顯爲調試)。到期時間設定爲1年。但由於某種原因,cookie不會出現在任何地方。下面的代碼:
// js/main.js
$('#settings-form').live('submit', function() {
$.post('controllers/settings.php', $(this).serialize(), function(data) { // Everything here works.
if (data == 'OK') // no errors spits out "OK". this works
changeView({'msg': 'Your settings were saved successfully.'}); // This just resets the view and adds a message div at the top. This works
else
changeView({'msg': data}); // This echoes the error if any exists. Doesn't happen, no errors arise
});
return false; // Cancels redirecting after submitting form
});
// controllers/settings.php
setcookie('user_settings', serialize($_POST), strtotime('+1 year'));
我檢查所有的變量,我甚至嘗試了測試(如設置啞的人「噓」,而不是序列化($ _ POST)由於某種原因不能正常工作。
任何想法,爲什麼發生這種情況?我試着做一個chdir('..');使cookie指向正確的位置,但這似乎不是問題,檢查我的cookie瀏覽器似乎根本無法工作,對於任何路徑,它根本無法工作,我也只是嘗試手動更改域和路徑,但這些都不起作用。
好的,我所做的是將兩個使用的JS結合起來設置cookie,但PHP讓價值正確,以便我可以輕鬆使用它。謝謝!太糟糕了,我不得不與JS解決方法。 – casraf 2010-09-17 13:08:05