Ver Mensaje Individual
  #1 (permalink)  
Antiguo 22/09/2010, 11:13
qsflay
 
Fecha de Ingreso: febrero-2009
Mensajes: 36
Antigüedad: 15 años, 3 meses
Puntos: 0
Problema con sesiones

Hola, tengo el siguiente codigo de un sistema de usuarios

1. fichero de login:
Código:
<table>
        <tr>
        <form method="post" enctype="multipart/form-data" action='comproba.php'>
        <td>Login:</td> <td><input name="usuari" value="login... " type="text" size="30" /></td>
        <td>Password:</td> <td><input name="password" value="El password" type="password" size="30" /></td>
        <td><input type="submit" value="Entrar" name="enviar" /></td>
        </form>
        </tr>
    </table>
2. fichero de comprobacion de datos (comproba.php)
Código:
<?php
	ob_start();
	session_start();
	include 'php/conexio.php';
	$login =$_POST['usuari'];
	$pass =$_POST['password'];
	mysql_real_escape_string($login);
    mysql_real_escape_string($pass);
	$query = "SELECT * 
	FROM usuari 
	WHERE nom='".$login."' and passwd = '".$pass."'";
    $result=mysql_query($query) or die ((mysql_error()));
	if(mysql_num_rows($result)>0)
	{ 
		$_SESSION['login']=$login;
		session_unset($_SESSION['error_login']);
		header("Location:index.php");
		ob_end_flush();
		
	}
	else
	{
		//session_unset();
		//session_destroy();
		$_SESSION['error_login']="logeo incorrecto";
		header("Location:login.php");
    }
      mysql_close($conexio);
      ob_end_flush();
?>
y finalmente, el código apra comprobar si te has logeado a cada página
Código:
<?php
	ob_start();
	session_start();
	if(!isset($_SESSION['login']))
	{
		$_SESSION['error_login']="Error al logueig - index.php ".session_name();
		header("Location:login.php");
		ob_end_flush();
	}
	else
	{	
?>
El problema es que en la parte donde comprueba si estas logeado redirige al login como si no hubira pasado la comprobación, cosa que si hace, es decir, dice que la variable $_SESSION['login'] no esta inicializada