Ver Mensaje Individual
  #1 (permalink)  
Antiguo 29/12/2009, 12:39
frmfernando
 
Fecha de Ingreso: junio-2008
Mensajes: 287
Antigüedad: 15 años, 10 meses
Puntos: 1
login.php para comprobar usuario y contraseña

Hola buenas.

Tengo un panel de gestion en mi página pero lo quiero controlar por usuario y coontraseña que ya tengo en la base de datos.

Por lo que me han explicado en un curso que estoy haciendo tengo que tener en cuenta varias cosas.

1.- Existe $_POST?
2.- Llega vacio $_POST?
3.- El usuario está en la Base de datos?
4.- La contraseña llega vacia?
5.- La contraseña está en la Base de datos?
6.- El id del usuario y contraseña es el mismo?

Creo que ya tengo todas estas comprobaciones realizadas pero solo puedo entrar en el panel con el último usuario que tenga en la base de datos.


Les dejo el código que he creado a ver si me pueden decir donde tengo el fallo o una idea de como poder solucionarlo.

Código PHP:
//Iniciando la sesión
session_start();


//Comprobar si existe $_POST
if (empty($_POST)){
    
header("location:./../../pagina.net/index.php");
    }else{
        
//Comprobar si $_POST["usuario"] llega vacio
        
if (($_POST["usuario"])==""){
            
header("location:./../../pagina.net/index.php");
            }else{
                
//Comprobar si $_POST["usuario"] existe en la base de datos
                
$sql="SELECT id, usuario FROM usuarios";
                
$r=mysql_query($sql$link);
                while (
$fila=mysql_fetch_assoc($r)){
                    if (
$_POST["usuario"]==$fila["usuario"]){
                        
$usuario=$fila["id"];
                        
//Comprobar si $_POST["password"] llega vacio
                        
if (empty($_POST)){
                            
header("location:./../../pagina.net/index.php");
                            }else{
                                
//Comprobar si $_POST["password"] llega vacio
                                
if ($_POST["password"]==""){
                                    
header("location:./../../pagina.net/index.php");
                                    }else{
                                        
//Comprobas si $_POST["password"] existe en la base de datos
                                        
$sql="SELECT id, password FROM usuarios";
                                        
$r=mysql_query($sql$link);
                                        while (
$fila=mysql_fetch_assoc($r)){
                                            if (
$_POST["password"]==$fila["password"]){
                                                
$password=$fila["id"];
                                                if (
$usuario==$password){
                                                    
$_SESSION["validado"]=1;
                                                    
header("location:./../panel.php");
                                                    }else{
                                                        
header("location:./../../pagina.net/index.php");
                                                        }
                                                }else{
                                                    
header("location:./../../pagina.net/index.php");
                                                    }
                                            }
                                        }
                                }
                        }else{
                            
header("location:./../../pagina.net/index.php");
                            }
                    }
                }
        } 

Saludos.