Compañeros.
Estoy peleandome con sessiones.
Toda la navegación pasa por index.php que es quien valida. y realiza todo el control. El resto de paginas son includes.
La intensión de usar sessiones es solo para paginas de administración.
Mi intensión es usarlas para poder validar si un usuario se ha logado o no en una pagina web.
Entiendo que el SID que te genera la session es unico. Mi idea es que sea unico indistintamente de cuantas ventanas tengas abiertas, ha de ser unico para cada una de ellas. Asi, si la misma url se abre en ventana nueva, y pegas la url anterior. te ha de llevar a la home de login. Porque en esta ventana no te has logado.
En resumen quiero que esa session sea unica para esa ventana.
Por otro lado no quiero guardar información en cookie y nada por el estilo. Ya que así me evito si un usuario ha desabilitado las cookies.
Seguro que me equivoco en algo porque no me va. Bueno a medias. En IE si que funciona pero en otros navegadores no va.
Aqui van mis pasos.
1. Verifico si $_SESSION existe, si no existe arranco motores de manejo de sessiones.
2. por URL si ha salido, envio un LOGOUT, en caso que exista, borro las variables guardadas (USUARIO, ...)
$_SESSION[VARIABLE] = null
unset($_SESSION['VARIABLE'])
header ("location:index.php");
3. Si el $_SESSION['SID'] no existe, lo creo
sino redirijo header ("location:index.php");
4. Como en esta pagina valido el usuario y password logado, miro a ver si me han enviado por POST el usuario y password y valido a ver si coinciden.
Si pasa la prueba de validación guardo $_SESSION['USUARIO']
5. Si $_SESSION['USUARIO'] existe entonces todo se ha validado entonces hago un include del contenido de la pagina que quiero trabajar.
No se si es una buena o mala manera.
Alguien conoce alguna otra manera de poderlo hacer.?
Gracias por vuestra ayuda.
Saludos,
Luis