Ver Mensaje Individual
  #5 (permalink)  
Antiguo 24/07/2002, 07:53
josemi
Ex Colaborador
 
Fecha de Ingreso: junio-2002
Mensajes: 9.091
Antigüedad: 21 años, 10 meses
Puntos: 16
Re: Atentificar User por medio de Tables

Hola,

Antes de mostrarte un par de fallos que veo en tu codigo, un consejo que creo que vendra muy bien a muchos. Antes de ponerte a teclear codigo como un poseso, ANALIZA lo que quieres hacer y desglosalo en partes. Despues, ponlo por escrito, usando diagramas de flujo o pseudocodigo o lo que sea para ver el DISEÑO que has hecho. Por ultimo, REVISA todo otra vez y REPITE el proceso hasta que lleges a una solucion que creas que es correcta. Entonces sera el momento en que puedas empezar a "picar" codigo, y si has hecho lo anterior bien veras que que el codigo te sale mas rapido y mejor.

Ahora, los fallos que te veo en el codigo. Te advierto que solo le he mirado por encima, o sea, que puede haber mas.

Primero, en tu codigo estas usando $result['passwd'] cuando por lo que se ve en tu consulta de BD el campo en la tabla se llama password, con lo que deberias estar usando $result['password']. Quizas estes preguntando como puede ser tan tonto PHP como para no avisarte de esto, pero la verdad es que posiblemente TU tengas configurado PHP para que NO te avise para este tipo de errores.

Segundo, estas haciendo la consulta para que te devuelva el registro que tenga el usuario y password que le has pasado, ¿verdad?. Entonces, ¿para que comprobar si los campos devueltos por la consulta son distintos a los que les has pasado, si le has obligado a que sean iguales?. Este fallo es de DISEÑO. ANALIZA la situacion. Si le has pasado un usuario y/o password incorrectos, ¿que devuelve tu consulta?. Piensa un poco. Te has dado cuenta, ¿verdad?. NO DEVUELVE NINGUN REGISTRO. Con lo que para comprobar esta situacion NO DEBES mirar si el usuario y/o password devueltos coinciden con los que has pasado, sino que DEBES comprobar si te ha devuelto algun registro.

Otro consejo para finalizar. Deja de teclear codigo ahora mismo y coge papel y lapiz y ponte a DISEÑAR lo que quieres hacer.

Espero no haberte ofendido, y que te sirva de algo mi contestacion.


Josemi

Aprendiz de mucho, maestro de poco.