Foros del Web » Programando para Internet » PHP »

login.php para comprobar usuario y contraseña

Estas en el tema de login.php para comprobar usuario y contraseña en el foro de PHP en Foros del Web. 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 ...
  #1 (permalink)  
Antiguo 29/12/2009, 12:39
 
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.
  #2 (permalink)  
Antiguo 29/12/2009, 12:51
Avatar de TKZeXe  
Fecha de Ingreso: diciembre-2009
Ubicación: Flowers
Mensajes: 166
Antigüedad: 14 años, 3 meses
Puntos: 6
Respuesta: login.php para comprobar usuario y contraseña

pero que error te arroja,

minimo prueba el codigo antes de psotearlo.

no pretenderas que hagamos todo.

danos una idea de que esta mal.
  #3 (permalink)  
Antiguo 29/12/2009, 12:56
 
Fecha de Ingreso: junio-2008
Mensajes: 287
Antigüedad: 15 años, 10 meses
Puntos: 1
Respuesta: login.php para comprobar usuario y contraseña

Jajajajaja, no pretendo que me hagais el codigo.

Disculpas por no explicarme bien.

En un principio no me da ningún error.

Lo que me hace es regresarme al index.php a no ser que introduzca el último usuario y contraseña de la base de datos.

Antes de postear el código lo he estado comprobando.

Supongo que no lo tengo bien estructurado.

Gracias.
  #4 (permalink)  
Antiguo 29/12/2009, 13:15
Avatar de FNX_NET  
Fecha de Ingreso: marzo-2004
Ubicación: EN EL INFIERNO.....
Mensajes: 1.707
Antigüedad: 20 años
Puntos: 7
Respuesta: login.php para comprobar usuario y contraseña

yo creo que tienes demas de while y el if

porque se supone que el nombre de usuario es unico, asi que haces un where con el user y pass y dependiendo que te devuelva desides que entre o no
__________________
:-D "Que se libere del cielo confinado; que mi cuerpo sea la espada de hielo negro que nos lleve al abismo; que ningún poder pueda detenernos...Destructora de las almas de los dioses!!!":adios:


:pirata:
  #5 (permalink)  
Antiguo 29/12/2009, 13:20
Avatar de TKZeXe  
Fecha de Ingreso: diciembre-2009
Ubicación: Flowers
Mensajes: 166
Antigüedad: 14 años, 3 meses
Puntos: 6
Respuesta: login.php para comprobar usuario y contraseña

Esta muy malo ese codec.

haz un WHERE a la condicion y ahorrate el bucle.

saludos.
  #6 (permalink)  
Antiguo 29/12/2009, 14:21
 
Fecha de Ingreso: junio-2008
Mensajes: 287
Antigüedad: 15 años, 10 meses
Puntos: 1
De acuerdo Respuesta: login.php para comprobar usuario y contraseña

Muchisimas gracias una vez más.

Poniendo un WHERE en la consulta me ha funcionado correctamente.

Además he eliminado un while y un if.

Saludos a todos.
  #7 (permalink)  
Antiguo 29/12/2009, 15:36
Avatar de FNX_NET  
Fecha de Ingreso: marzo-2004
Ubicación: EN EL INFIERNO.....
Mensajes: 1.707
Antigüedad: 20 años
Puntos: 7
Respuesta: login.php para comprobar usuario y contraseña

yo creo que replanteate el script

porque validas si escribe el user o pass vacio, pero eso lo deberias validar en el cliente, ademas deberias validar que no te hagan un sql Injection
__________________
:-D "Que se libere del cielo confinado; que mi cuerpo sea la espada de hielo negro que nos lleve al abismo; que ningún poder pueda detenernos...Destructora de las almas de los dioses!!!":adios:


:pirata:
  #8 (permalink)  
Antiguo 30/12/2009, 05:40
 
Fecha de Ingreso: junio-2008
Mensajes: 287
Antigüedad: 15 años, 10 meses
Puntos: 1
Respuesta: login.php para comprobar usuario y contraseña

Hola FNX_NET.

Muchas gracias por las explicaciones.

Por el momento son pruebas que estoy haciendo.

Tomare nota y estudiare como lo tengo que hacer que por el momento no tengo experiencia suficiente para hacer lo que me comentas.

Saludos.
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

SíEste tema le ha gustado a 1 personas




La zona horaria es GMT -6. Ahora son las 09:26.