Ver Mensaje Individual
  #1 (permalink)  
Antiguo 22/03/2012, 02:36
erpereiro
 
Fecha de Ingreso: marzo-2012
Mensajes: 29
Antigüedad: 12 años, 2 meses
Puntos: 0
Problema con sessiones

Hola, mi problema és que la session no se me cierra, os paso el codigo que tengo en cada parte:

index.php

<?php
$link = mysql_connect('localhost', 'conecta', 'V15vzXy43n82');
if (!$link)
die('Error al conectarse con MySQL: ' . mysql_error().' <br>Número del error: '.mysql_error());
if (! @mysql_select_db("qnm975",$link)){
echo "No se pudo conectar correctamente con la Base de datos";
exit();
}
?>
<HTML>
<HEAD></HEAD>
<BODY>
<?php if (isset($_SESSION['estado']) && $_SESSION['estado'] == 'Autenticado') { ?>
<div class="fconexio">
<form action="login.php" method="post">
<div class="textalt">Usuario</div>
<input class="miconecta" name="usuari" type="text">
<div class="textalt">Contrasenya</div>
<input class="miconecta" name="contraseña" type="password">
<input name="Conecta" type="submit" value="Conecta" class="seconecta">
</form>
</div>
<?php } else { ?>
<div>
Hola <?php echo $_usuari; ?><a href="cerrar_ses.php">Cerrar</a>
</div>
<?php } ?>
</BODY>
</HTML>


login.php

<?php
$conexion=mysql_connect('localhost', 'conecta', 'V15vzXy43n82');
if (!$conexion)
die('Error al conectarse con MySQL: ' . mysql_error().' <br>Número del error: '.mysql_error());
if (! @mysql_select_db("qnm975",$conexion)){
echo "No se pudo conectar correctamente con la Base de datos";
exit();
}

$user=($_POST['usuari']);
$contrasenya=($_POST['contrasenya']);

$consulta = "SELECT * FROM usuaris WHERE usuari='$user' AND password='$contrasenya'";
$resultado = mysql_query( $consulta, $conexion ) or die( mysql_error() );
$datos = mysql_fetch_array( $resultado );

if($datos['usuari'] != $user or $datos['password'] != $contrasenya)
{

echo "<script>";
echo "alert('Datos incorrectos');";
echo "window.location='esbos.php'";
echo"</script>";
exit();
}
else
{
session_start();
$_SESSION['usuari'] = $datos['usuari'];
$_SESSION['estado'] = 'Autenticado';
echo "<script>";
echo "alert('Datos correctos');";
echo "window.location='esbos.php'";
echo"</script>";
}

cerrar_ses.php

<?php
session_start();//para saber cual es la sesion a destruir
session_unset();//para eliminar las variables de sesion
session_destroy();
//lo redirecciono a la página anterior
$ir=$_SERVER['HTTP_REFERER'];
header("location:$ir");
?>

No se donde tengo el error, la capa de Hola me sale siempre, me interesa que si no esta la session iniciada salga la capa para loggearse y si esta loggeado que salga la de HOLA.

Gracias, por adelantado.