Foros del Web » Programando para Internet » PHP »

Login defectuoso

Estas en el tema de Login defectuoso en el foro de PHP en Foros del Web. 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 ...
  #1 (permalink)  
Antiguo 20/06/2010, 13:44
 
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); 
  #2 (permalink)  
Antiguo 20/06/2010, 16:45
 
Fecha de Ingreso: mayo-2010
Mensajes: 99
Antigüedad: 13 años, 11 meses
Puntos: 1
Respuesta: Login defectuoso

Amigo podrias probar que al determinado tiempo se cumpla la funcion session_destroy(); es decir al tanto tiempo de elusuario estar inactivo en la web automaticamente se destruya la sesion y las cookies si se generan!

podrias probar con un if que te diga que si el usuario esta en session pero no activo entonces se realize el logout.

espero haberme explicado bien!
  #3 (permalink)  
Antiguo 21/06/2010, 13:43
 
Fecha de Ingreso: septiembre-2008
Mensajes: 211
Antigüedad: 15 años, 7 meses
Puntos: 2
Login defectuoso

Si pero claro no quiero condicionar a los usuarios que se les cierre la cuenta automàticamente...

Me interesa que cuando un usuario haga clic en LOGIN lo primero que tiene que hacer es destruir la session i luego ir a LOGIN.

No se si me expliqué..

Muchas gracias

Etiquetas: login, defecto
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 17:18.