2011-05-31 8 views
7

He creado una galleta de la presente convocatoria en phpNo se puede eliminar php conjunto de cookies

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

He intentado desarmar esta manera

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

y todavía no se desarmará el valor de cookie en $ _COOKIE ['alert_msg'].

que he probado en Firefox y Chrome

Ejemplo de código:

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

Verifica la ruta de las cookies. ¿Estás configurando cookies en 'dir/file' e intentando desactivarlas en' dir2/file'? –

+0

@Shakti - Estoy usando Cakephp. Lo estoy configurando en un controlador que se encuentra en/app/controllers y tratando de desarmarlo en el app_controller que está ubicado en/app ¿Esto hace la diferencia? – going

+0

@Shakti: Veo que está en lo cierto. ¿Puede agregar su comentario como respuesta y puedo marcarlo como mi respuesta aceptada? – going

Respuesta

21

obtener de la ruta de cookies.

Dado que no está pasando el parámetro path a la función setcookie, en este caso la cookie se configurará para el directorio actual solamente y se puede usar y solo se puede desconfigurar de ese directorio.

La solución posible es pasar el valor path como /. Para que esa cookie se pueda usar y desarmar desde cualquier parte de la aplicación.

+0

Funciona perfectamente tanques – spyke01

+0

. me salvaste el tiempo – IndieBoy

Cuestiones relacionadas