Hola de nuevo,
Antes de nada, decir que los resultados que obtengo son dentro de mi pc, en el que tengo instalado el AppServ (Apache+Mysql+PHP). Mi SO es WinXP.
Siguiendo tu consejo, he asignado un nombre a la sesión. Aquí reflejo los cambios realizados, por si a alguien le interesa:
Antes de cada
session_start() he introducido un
session_name("misitio1").
Parece que funciona, ya no hay "conflicto" con las sesiones de otras webs abiertas simultáneamente.
Sin embargo,
sin propagar el id de sesión por ningún lado, parece que funciona.
Así mismo, he activado y desactivado el
session.use_trans_sid y, el funcionamiento parece el mismo.
Mi pregunta es
¿para qué es necesario propagar la id de la sesión?
En
accesoControl.php:
Código PHP:
//es que si que existe esa conbinación usuario/contraseña
if ($row = mysql_fetch_array($rs)){
//usuario y contraseña válidos
//defino una sesion y guardo datos
session_name("misitio1");
session_start();
$_SESSION["userid"]=$userid;
$url="Location: admin.php";
header ($url);
}else {
//...resto código
En
seguridad.php (es el archivo que comprueba si el usuario que accede es el que se ha identificado):
Código PHP:
<?
//Inicio la sesión
session_name('misitio1');
session_start();
if(!(session_is_registered('userid'))){
session_unset();
session_destroy();
header("Location: acceso.php");
exit();
}
?>