2012-08-24 47 views
0

我正在運行PHP Magento 1.4.1.1,我正在用用戶首選項存儲一個cookie。在magento我不能刪除cookies

我用它來存儲cookie。

umask(0); 
Mage::app(); 
Mage::getModel('core/cookie')->set('lunch', 'user likes tuna fish', (60*60*24)); 

現在能正常工作,保存cookie的......但如果我嘗試更新或刪除的cookie我看不出有什麼變化。

我嘗試設置與新數據的cookie,像這樣:

umask(0); 
Mage::app(); 
Mage::getModel('core/cookie')->set('lunch', 'user likes hamburgers', (60*60*24)); 

,通常第二cookie被使用完全相同的名稱,域和路徑創建。

另外,如果我嘗試刪除,而不是改變我用這個:

umask(0); 
Mage::app(); 
Mage::getModel('core/cookie')->delete('lunch'); 

在不改變該cookie。

我也用刪除這樣的:

Mage::getModel('core/cookie')->delete('lunch', '/', 'www.domain.com'); 
Mage::getModel('core/cookie')->delete('lunch', '/', '.domain.com'); 
Mage::getModel('core/cookie')->delete('lunch', '/', 'domain.com'); 

沒有運氣無論是。

任何想法?

僅供參考...我在根文件夾之外。

回答

0

好的,在這一個我最終解決了自己......但造成了這個問題。我在使用set時傳遞的變量沒有被設置...發送NULL或FALSE。顯然Magento不會設置一個cookie,如果這是假或NULL

所以再次的解決方案是確保值設置。

Mage::getModel('core/cookie')->set('lunch', $SET_VALUE_HERE, (60*60*24)); 

另外我似乎有更多的運氣使用設置爲零結束殺死cookie。

Mage::getModel('core/cookie')->set('lunch', $SET_VALUE_HERE, 0);