Foros del Web » Programando para Internet » PHP »

validacion de login y password

Estas en el tema de validacion de login y password en el foro de PHP en Foros del Web. Hola buenos dias. me gustaria tener informacion de las validaciones de los campos de login y password, como por ejemplo que cuando se introdusca un ...
  #1 (permalink)  
Antiguo 08/06/2009, 08:49
 
Fecha de Ingreso: diciembre-2008
Ubicación: Av. Republica Casa#106
Mensajes: 125
Antigüedad: 15 años, 3 meses
Puntos: 0
Pregunta validacion de login y password

Hola buenos dias. me gustaria tener informacion de las validaciones de los campos de login y password, como por ejemplo que cuando se introdusca un usuario o contraseña erroneo o incorrecto automaticamente el sistema me de un error y me diga donde esta el problema. no se si me explico bien.
Muchas gracias y espero su ayuda.....
  #2 (permalink)  
Antiguo 08/06/2009, 08:58
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 15 años, 11 meses
Puntos: 2534
Respuesta: validacion de login y password

eso lo haces mediante lógica...

- haces la consulta buscando al usuario con el password especificado
- si alguno coincide, entonces, todo va bien...
- si no, entonces, algo esta mal...

ahora, ¿donde esta el problema??
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #3 (permalink)  
Antiguo 08/06/2009, 09:17
Avatar de martin0341  
Fecha de Ingreso: septiembre-2006
Ubicación: Rosario - Santa Fe
Mensajes: 296
Antigüedad: 17 años, 6 meses
Puntos: 8
Respuesta: validacion de login y password

El problema en decir "USUARIO INCORRECTO" o "CONTRASEÑA INVALIDA" es que le estamos dando informacion que no debemos revelar.
Lo correcto es que si el usuario o la contraseña, o las dos cosas no coinciden mostremos un mensaje de LOGIN INCORRECTO sin mas detalles.
Me parece que eso es lo que preguntabas.
  #4 (permalink)  
Antiguo 08/06/2009, 09:41
 
Fecha de Ingreso: junio-2009
Mensajes: 5
Antigüedad: 14 años, 9 meses
Puntos: 0
Respuesta: validacion de login y password

Justo iba a crear un tema ahora mismo preguntando lo mismo!!! A mi me da tambien problemas la validacion que estoy haciendo, pero nose si por la misma razon. Por si alguien puede ayudarme a mi tambien, lo explico aqui, ya que esta abierto el tema ya sobre esta cuestion. Yo hago lo siguiente:

En el index tengo el tipico formulario de usuario y contraseña, el cual hace el submit a un archivo php que procesa la informacion. Ese archivo lo que hace es comprobar si el usuario existe en la base de datos. Si existe y coincide el password, pongo una variable de sesion 'error' a 0. Si existe pero no coincide el password, pongo esa variable de 'error' a 1. Y si no existe el usuario, pongo la variable de 'error' a 2. Asi puedo saber si el login fue bien, y si da error, si es por no existir el usuario o por que el password sea incorrecto. Despues de esto, lo que hago es hacer un Header('Location: ') al index otra vez, donde consulto esa variable de sesion 'error', y en funcion de su valor imprimo la info del usuario, un error de que no existe el usuario o de password incorrecto. Para que os hagais una idea el codigo es este:

Código PHP:
procesa_informacion.php

if( $mi_usuario->existe_usuario$_POST["nombre"] ) )
    {    
        
// En caso de existir, obtenemos toda la información que queremos guardar en la sesión y comprobamos que el password dado es correcto.
        
$datos $mi_usuario->obtener_datos$_POST["nombre"], array( 'idUsuario''idCSS''NombreUsuario''Password''Privilegio') );
        if( 
$datos[0]["Password"] == $_POST["password"] )
        {
            
// Si es correcto, se asigna toda la información a la sesión del usuario.
            
Sesion::set'error_identificacion');
            
Sesion::set'idUsuario'$datos[0]["idUsuario"] );
            
Sesion::set'idCSS'$datos[0]["idCSS"] );
            
Sesion::set'usuario'utf8_decode$datos[0]["NombreUsuario"] ) );
            
Sesion::set'privilegio'$datos[0]["Privilegio"] );
        }
        else 
        {        
            
// Si no coinciden los passwords, se pone la variable "error_identificacion" a 1, lo cual indica que el password es incorrecto.
            
Sesion::set'error_identificacion');
        }
    }
    else
    {
        
// Si no existe el usuario especificado en la base de datos, se pone la variable "error_identificacion" a 2, lo cual indica que no existe.
        
Sesion::set'error_identificacion');
    }
    
    
// Tras procesar la información, redireccionamos al index de la Web.
    
Header"Location: index.php" ); 
Código PHP:
parte del login en el index

$info_usuario 
'<div class="formulario_usuario"><form id="info_usuario" name="info_usuario" method="post" action="procesa_informacion.php" onsubmit="return validar_formulario(\'info_usuario\')">
                <label for="nombre">Usuario:</label>
                <input id="nombre" name="nombre" type="text" size="20"/>
                <label for="password">Contraseña:</label>
                <input id="password" name="password" type="password" size="20"/>
                <input class="boton_info_usuario" id="enviar" name="enviar" type="submit" value="Aceptar" />
                </form></div>'
;
        if( 
Sesion::is_set'error_identificacion' ) )
        {
            
$error Sesion::get'error_identificacion' );
            if( 
$error == )
            {
                
$info_usuario '';
                
$info_usuario .= '<h1>Usuario: ' Sesion::get'usuario' ) . '</h1>';
                
$info_usuario .= '<a href="./CapaAplicacion/Sesion/cerrar_sesion.proc.php"> Cerrar sesi&oacute;n </a>';    
                
            }
            elseif( 
$error == )
            {
                
$info_usuario .= '<div class="mensaje_info_usuario">Error: Password incorrecto. <a href="index.php?mod=registro">Reg&iacute;strate</a></div>';
            }
            elseif( 
$error == )
            {
                
$info_usuario .= '<div class="mensaje_info_usuario">Error: El usuario no existe. &nbsp;<a href="index.php?mod=registro">Reg&iacute;strate</a></div>';
            }
        }
        else 
        {
            
$info_usuario .= '<div class="mensaje_info_usuario"><a href="index.php?mod=registro">Reg&iacute;strate</a></div>';
        }
        echo 
$info_usuario;
    } 

Hasta aqui todo parece que tiene que ir bien, pero el problema es cuando envio la informacion del formulario. Al volver al index, no hace nada, pero al darle al F5 y refrescar la pagina entonces si que me pone los mensajes de error y eso. Y si cierro la ventana y vuelvo a abrir la pagina, me queda con la ultima informacion que meti. Llevo un dia entero con esto y no se que puede ser. ¿Tendra que ver algo con el Location?

Muchas gracias por la ayuda.
  #5 (permalink)  
Antiguo 08/06/2009, 10:03
Avatar de martin0341  
Fecha de Ingreso: septiembre-2006
Ubicación: Rosario - Santa Fe
Mensajes: 296
Antigüedad: 17 años, 6 meses
Puntos: 8
Respuesta: validacion de login y password

tengo un articulo con un ejemplo de validacion que esta bueno y simple como para entender la idea, si alguien lo necesita le pago la pagina por mp.
Saludos
  #6 (permalink)  
Antiguo 08/06/2009, 10:25
 
Fecha de Ingreso: junio-2009
Mensajes: 5
Antigüedad: 14 años, 9 meses
Puntos: 0
Respuesta: validacion de login y password

Despues de seguir con ello, yo creo que el error me lo da al llamar al archivo que procesa los datos y despues me redirecciona al index otra vez, ya que solo me sale el error al refrescar la pagina. ¿Puede ser que Header redireccione a index, pero que despues no ejecute la parte del index que comprueba el error, y por eso tengo que refrescar la pagina para que me salga? Desconozco el funcionamiento de Header.
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 01:56.