2011-05-31 14 views
7

हटाया नहीं जा सकता मैं php में इस कॉल के माध्यम से एक कुकी सेट कर लिया हैphp सेट कुकी

setcookie('alert_msg', 'you have the add badge'); 

मैं कोशिश की है यह इस तरह से

setcookie('alert_msg', ''); 
setcookie('alert_msg', false); 
setcookie('alert_msg', false, 1); 
setcookie('alert_msg', false, time()-3600); 
setcookie('alert_msg', '', 1, '/'); 

unsetting और यह अभी भी सेट नहीं नहीं होगा $ _COOKIE ['alert_msg'] में कुकी मान।

मैं दोनों फ़ायरफ़ॉक्स और क्रोम में की कोशिश की है

कोड का नमूना:

if (isset($_COOKIE['alert_msg'])) { 
    $this->set('alert_msg', $_COOKIE['alert_msg']); 
    unset($_COOKIE['alert_msg']); 
    setcookie('alert_msg', '', 1, '/'); 
} 
+3

कुकी पथ चेकआउट करें। क्या आप कुकी को 'डीआईआर/फाइल' में सेट कर रहे हैं और' dir2/file' में अनसेट करने का प्रयास कर रहे हैं? –

+0

@Shakti - मैं केकफ़्पी का उपयोग कर रहा हूं। मैं इसे एक नियंत्रक में स्थापित कर रहा हूं जो/एप/नियंत्रकों में बैठता है और ऐप_कंट्रोलर में इसे अनसेट करने का प्रयास कर रहा है जो कि ऐप में बैठा है, इससे कोई फर्क पड़ता है? – going

+0

@Shakti - मुझे लगता है कि आप सही हैं, क्या आप अपनी टिप्पणी को उत्तर के रूप में जोड़ सकते हैं और मैं इसे अपने स्वीकृत उत्तर के रूप में चिह्नित कर सकता हूं। – going

उत्तर

21

चेकआउट कुकी पथ।

चूंकि आप path पैरामीटर setcookie फ़ंक्शन पर पास नहीं कर रहे हैं, इस मामले में कुकी केवल वर्तमान निर्देशिका के लिए सेट की जाएगी और इसका उपयोग किया जा सकता है और केवल उस निर्देशिका से अनसेट किया जा सकता है।

संभावित समाधान path मान / के रूप में पास करना है। ताकि कुकी का उपयोग किया जा सके और आवेदन के किसी भी हिस्से से अनसेट हो।

+0

पूरी तरह से – spyke01

+0

टैंक काम करता है। आपने मेरा समय बचाया – IndieBoy

संबंधित मुद्दे