Ver Mensaje Individual
  #1 (permalink)  
Antiguo 20/06/2010, 13:44
mesoriginal
 
Fecha de Ingreso: septiembre-2008
Mensajes: 211
Antigüedad: 15 años, 7 meses
Puntos: 2
Login defectuoso

Hola! tengo un problema con las sessiones. El sistema hace lo siguiente; haces login, comprueba tus datos y te manda hacia PERFIL.PHP, en perfil tendria que capturar el valor de la SESSION y darme sus resultados correspondientes. Hasta ahí lo hace bien pero si alguien cierra el navegador y vuelve a entrar se comporta como si el valor de la SESSION fuera en blanco y me da los valores de PERFIL en blanco. La solucion seria en "login" ver si existe alguna session iniciada de valor nulo y si esta hacer el logout. Alguien se le ocurre ver otra solucion? Muchas gracias.
login.php
Código PHP:
<?php
session_start
();

include(
'conex.php');
if (isset(
$_POST['email'])) {
$email=$_POST['email']; 
$pass=$_POST['pass'];
    if(
$email == NULL){echo "<font color=red>No es pot deixar en blanc el correu electrònic.</font>";}
    elseif (
$pass == NULL) {echo "<font color=red>No es pot deixar en blanc la contrasenya.</font>";}
    else{
    
$query mysql_query("SELECT * FROM user WHERE email = '$email'") or die(mysql_error()); 
    
$data mysql_fetch_array($query); 
        if(
$data['email'] != $email) { 
        echo 
"<font color=red>Aquest correu electrònic no està registrat.</font>"
        }elseif(
$data['pass'] != $pass){
        echo 
"<font color=red>Contrasenya incorrecta.</font>";
        }else{ 
        
$query mysql_query("SELECT * FROM user WHERE email = '$email'") or die(mysql_error()); 
        
$row mysql_fetch_array($query);
        
$_SESSION['login']=$row['email'];
        echo 
"<script type='text/javascript'>location='perfil.php'</script>";
        } 
    }
}
?>
<form name="form2" method="post" action="login.php">Correu electrònic:</td><td> 
  <input name="email" type="text" "></td></tr>
<tr><td>  <br>Contrasenya:</td><td> 
  <input name="pass" type="password" id="pass"></td></tr>
  <tr><td colspan=2><center><input type="submit" name="Submit" value="Inicia sessió"></center></td></tr>
</form>
perfil.php

Código PHP:
$nom mysql_query("SELECT * FROM user WHERE email = '".$_SESSION['login']."'") or die(mysql_error());
$row mysql_fetch_array($nom);