PHP - problema al eliminar la cookie de una sesion

 
Vista:
Imágen de perfil de Victorio Jesus Molina Bermejo
Val: 58
Ha aumentado su posición en 2 puestos en PHP (en relación al último mes)
Gráfica de PHP

problema al eliminar la cookie de una sesion

Publicado por Victorio Jesus Molina Bermejo (29 intervenciones) el 04/01/2017 21:44:06
Hola, tengo un problema con un codigo. Se los dejo ahora y les cuento.

index.php:

1
2
3
4
5
<?php
	session_start();
	setcookie("user" , "Victorio" , time()+(60*60*24*365));
	$_SESSION["password"] = "1234";
?>


info.php

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<?php
session_start();
if(isset($_COOKIE["user"])){
	echo $_COOKIE["user"];
	unset($_COOKIE["user"]);
	setcookie("user",null,0);
}
 
if(isset($_SESSION["password"])){
	echo $_SESSION["password"];
	$_SESSION = array(); #unset($_SESSION);
	setcookie(session_name(),null,time()-99999);
	session_destroy();
}
?>

Como verán en el primer condicional imprimo el valor de la cookie "user" y luego la vacio y elimino cambiando el tiempo de su vida. Luego al abrir la configuracion del chrome y ver las cookies, efectivamente, ya no esta esa cookie en mi navegador. Luego cuando se ejecuta el segundo condicional compruebo si esta establecida la sesion password y de ser verdad (que lo es) imprimo el valor la sesion password, luego vacio todas las sesiones (por favor confirmenme si es lo mismo $_SESSION = array() que unset($_SESSION)) y despues elimino la cookie de la sesion de mi navegador definiendo su vida en el pasado y para acabar destruyo la sesion (eliminandose el archivo de sesion de mi servidor). Ahora es cuando viene el problema... recargo la pagina y no aparece nada, es decir que ya estan vacias tanto la cookie como las sesiones, luego me voy a comprobar que la sesion no este en mi server y efectivamente, no esta, pero luego me voy a las cookies y me encuentro que tengo 1 cookie con el session_name(), es decir, que la cookie de la sesion no se ha eliminado. ¿Como se elimina la cookie de la sesion?
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

problema al eliminar la cookie de una sesion

Publicado por salomon cardos (1 intervención) el 07/08/2017 22:42:38
al crear una cookie utilizas el código php setcookie("NOMBRE" ,$valor, time() + 31536000,'','');
ahora cuando vas a eliminar una cookie no siempre se elimina correctamente, para eliminar la cookie definitivamente
tienes que eliminarlo por todas las secciones de tu sitio web
1
2
3
4
5
6
7
setcookie("NOMBRE" ,NULL,time() - 31536000,'/seccion1','');
setcookie("NOMBRE" ,NULL,time() - 31536000,'/seccion2','');
setcookie("NOMBRE" ,NULL,time() - 31536000,'/seccion3','');
setcookie("NOMBRE" ,NULL,time() - 31536000,'/seccion4','');
setcookie("NOMBRE" ,NULL,time() - 31536000,'/seccion5','');
setcookie("NOMBRE" ,NULL,time() - 31536000,'/seccion6','');
setcookie("NOMBRE" ,NULL,time() - 31536000,'/seccion7','');
Nota: debes poner el mismo tiempo en negativo + 31536000 igual a - 31536000 en eliminación.
también debes predefinir como se debe ver tu sitio web estrictamente como http://www.midominio.com, https://www.midominio.com,
http://midominio.com o https://midominio.com solo puedes usar una url para garantizar la eliminación y correcto funcionamiento de tus cookies
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar