Ver Mensaje Individual
  #3 (permalink)  
Antiguo 01/06/2007, 05:43
Valentinoo
 
Fecha de Ingreso: abril-2007
Mensajes: 40
Antigüedad: 17 años, 1 mes
Puntos: 0
Re: propagacion sesiones en php

Muchas Gracias por contestar. Ya he corregido el fallo y parece que va bien. Ahora el problema que tengo es a la hora de cerrar la sesión.

-Cuando intento autentificarme y los datos no son correctos no me abre una sesion.
-Cuando intento autentificarme y los datos son correctos me abre una sesion y por tanto puedo acceder a la pagina admin.php. Pero al volver a autentificarme y poner los datos mal (para comprobar si me borra/vacia las variables de sesion) resulta que sigo con la sesion y puedo acceder a la pagina admin.php.

El código de comprobación (de la pagina login.php) para saber si el usuario esta autentificado o no para saber si le cierro o no la sesión es:

Cita:
<?php
session_start();

//Compruebo si la variable de sesion esta declarada
if (!isset($_SESSION['estado'])){

//Comprobar si los datos se envian a traves del formulario de Login
if (isset($_POST['enviar'])) {
header("Cache-control:private"); // IE 6 Fix
$correo=$_POST['correo'];
$clave=$_POST['clave'];

//Compruebo los datos con los de la BD
$_SESSION['estado']=comprobar($correo,$clave);

//Si los datos coinciden le asigno un valor a la variable de sesion
if ($_SESSION['estado']=="autentificado") {
$msg="Bienvenido";
}else{
$msg='Acceso Denegado<br><a href="login.php">Volver</a>';
session_destroy();
}
}else{

//Como los datos no son enviados a traves del formulario cierro la sesion
session_destroy();
}
}else{

//Al existir ya la variable $_SESSION['estado'] compruebo si tiene almacenado el valor "autentificado"
if ($_SESSION['estado']!="autentificado") {
session_destroy();
}
}

?>
El codigo de la pagina admin.php sigue siendo el mismo. Me vendría bien algún enlace avanzado sobre sesiones.

Un Saludo,

Valentin