1
PHP / Problema de Login con nueva contraseña
« 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.
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");
}
?>