Ver Mensaje Individual
  #2 (permalink)  
Antiguo 26/06/2011, 21:11
Avatar de blakmetall
blakmetall
 
Fecha de Ingreso: diciembre-2010
Ubicación: Jalisco
Mensajes: 181
Antigüedad: 14 años, 4 meses
Puntos: 18
Respuesta: donde estara mi error

Hola que tal, te dejo este codigo, que lo modifique un poco y le añadi un poco de mejora, para
que lo cheques y me dices si se soluciono algo.

Código PHP:
Ver original
  1. <?php
  2.     session_start();
  3.  
  4.     include("conexion.php");
  5.  
  6.     $usuario=strtolower($_POST['usuario']);
  7.     $password=md5($_POST['password']);
  8.            
  9.     if($usuario==NULL|$password==NULL) {
  10.         echo "<script> alert (\"Te falta llenar uno o mas campos verificalo\"); </script>";
  11.         echo "<script language=Javascript> location.href=\"../index.php\"; </script>";
  12.     }
  13.      
  14.     if($usuario!= "" && $password!= "") {
  15.         $sql = mysql_query("SELECT usuario FROM usuarios WHERE usuario='$usuario'");
  16.        
  17.         //si el usuario existe? (si devolvio linea con ese usuario.)
  18.         if(mysql_num_rows($sql) > 0) {  
  19.             $sql = mysql_query("SELECT usuario, password, nivel, status FROM usuarios WHERE usuario='$usuario' and password='$password'");
  20.            
  21.             //si el usuario con el password coinciden? __ loggeo correcto.
  22.             if(mysql_num_rows($sql) > 0) { 
  23.                 $f= mysql_fetch_array($sql);
  24.                
  25.                 /*este if ya no seria necesaria, puesto que la comprobacion esta en el query.*/
  26.                 //  if($f['password'] == $password)
  27.                
  28.                 $_SESSION['usuariologueado'] = $f['usuario'];  
  29.                
  30.                 // esta podria ser el problema, no se como uses esta pero si el usuario cerro la ventana, nunca
  31.                 // entro a la parte donde se actualiza el STATUS a desconectado. Y es por eso que el
  32.                 // $_GET['status'] estaria en este momento de 'conectado', aunque no se para que usas esa
  33.                 // linea en realidad.
  34.                 $status=$_GET['status'];
  35.                 $query = mysql_query("UPDATE usuarios SET status='conectado' WHERE usuario = '$usuario'");
  36.  
  37.                 if($f['nivel'] == 'administrador'){
  38.                     header('location:../paneldecontrol.php');
  39.                 }elseif($f['nivel'] == 'usuario'){
  40.                     header('location:../paneldeusuario.php');
  41.                 }
  42.             }else{
  43.                     echo "<script> alert (\"Password incorrecto\"); </script>";
  44.                     echo "<script language=Javascript> location.href=\"../index.php\"; </script>";
  45.                     die();
  46.             }
  47.         }else{
  48.             echo "<script> alert (\"El usuario no existe\"); </script>";
  49.             echo "<script language=Javascript> location.href=\"../index.php\"; </script>";
  50.             die();       
  51.         }
  52.     }
  53. ?>