Comunidad PHPeros

Lenguajes => PHP => Mensaje iniciado por: Chewii en 28 de Septiembre de 2015, 17:24:41 pm

Título: Problema de Login con nueva contraseña
Publicado por: Chewii en 28 de Septiembre de 2015, 17:24:41 pm
Buenos dias amigos, espero esten bien, les escribo por lo siguiente:

Estoy desarrollando un pequeño sistema para gestion de datos pesqueros, que contiene un registro y login de usuarios, ya que son varias personas quienes lo manejaran; el proceso de registro e ingreso de usuarios funciona correctamente, incluso cuando se le cambia su cotraseña, el problema radica en que cuando voy a ingresar con la nueva contraseña, no puedo entrar, por lo cual me regresa al formulario de acceso. Aqui les dejo el script que utilizo para cambiar la contraseña, creo a mi parecer esta funcionando bien, porque si la cambia.
Código: [Seleccionar]
<?php
        
if(isset($_SESSION['usuario'])) { // comprobamos que la sesión esté iniciada
            
if(isset($_POST['enviar'])) {
                if(
$_POST['usuario_clave'] != $_POST['usuario_clave_conf']) {
                    echo 
"Las contraseñas ingresadas no coinciden. <a href='javascript:history.back();'>Reintentar</a>";
                }else {
                    
$usuario_nombre $_SESSION['usuario'];
                    
$usuario_clave pg_escape_string($_POST["password"]);
                    
$usuario_clave md5($usuario_clave); // encriptamos la nueva contraseña con md5
                    
$sql pg_query("UPDATE tbl_users SET password='".$usuario_clave."' WHERE usuario='".$usuario_nombre."'");
                    if(
$sql) {
                        echo
"<script>alert('Contraseña cambiada correctamente')</script>";
echo"<script>document.location='../index2.php'</script>";
                    }else {
                        echo 
"Error: No se pudo cambiar la contraseña. <a href='javascript:history.back();'>Reintentar</a>";
                    }
                }
            }else {
?>

            <form action="<?=$_SERVER['PHP_SELF']?>" method="post">
                <label>Nueva contraseña:</label><br />
                <input type="password" name="usuario_clave" maxlength="15" /><br />
                <label>Confirmar:</label><br />
                <input type="password" name="usuario_clave_conf" maxlength="15" /><br />
                <input type="submit" name="enviar" value="Enviar" />
            </form>
<?php
            
}
        }else {
            echo 
"Acceso denegado.";
        }
?>
Aqui va tambien el script que utilzo para accesar al sistema, nose en cual linea de codigo me da problemas, puede ser que pasa las variables de usuario y clave vacias, por lo cual no entra...
Código: [Seleccionar]
<?php
    session_start
();
    include(
'../libs/acceso_db.php');
    if(isset(
$_POST['logueo'])) { // comprobamos que se hayan enviado los datos del formulario
        // comprobamos que los campos usuarios_nombre y usuario_clave no estén vacíos
        
if(empty($_POST['username']) || empty($_POST['password'])) {
            echo 
"El usuario o la contraseña no han sido ingresados. <a href='javascript:history.back();'>Reintentar</a>";
        }else {
            
// "limpiamos" los campos del formulario de posibles códigos maliciosos
            
$usuario_nombre pg_escape_string($_POST['username']);
            
$usuario_clave pg_escape_string($_POST['password']);
            
$usuario_clave md5($usuario_clave);
            
// comprobamos que los datos ingresados en el formulario coincidan con los de la BD
            
$sql pg_query("SELECT id, usuario, password FROM tbl_users WHERE usuario='".$usuario_nombre."' AND password='".$usuario_clave."'");
            if(
$row pg_fetch_array($sql)) {
                
$_SESSION['id'] = $row['id']; // creamos la sesion "usuario_id" y le asignamos como valor el campo usuario_id
                
$_SESSION['usuario'] = $row["usuario"]; // creamos la sesion "usuario_nombre" y le asignamos como valor el campo usuario_nombre
                
header("Location: ../index2.php");
            }else {
?>

               Error, <a href="../index.php">Reintentar</a>
<?php
            
}
        }
    }else {
        
header("Location: ../index.php");
    }
?>
Título: Re:Problema de Login con nueva contraseña
Publicado por: DarkArrow en 29 de Septiembre de 2015, 16:00:56 pm
El problema es que un usuario con contraseña cambiada no puede logear...

La forma de guardar la contraseña del código  de cambiar contraseña es la misma que la del código de registrar usuario?

Te deja logear con la antigua contraseña?

Has comprobado que la contraseña se cambia en la base de datos?