Ver Mensaje Individual
  #8 (permalink)  
Antiguo 18/10/2012, 10:48
cheterporras2
 
Fecha de Ingreso: octubre-2011
Mensajes: 160
Antigüedad: 12 años, 5 meses
Puntos: 2
Respuesta: Cambiar contraseña usuario php

Hola!!! También me gustaría preguntar otra cosa de estos códigos. En el código para que el usuario cambie él mismo su contraseña, ocurre algo raro, ya que me envía el mensaje de "Contraseña cambiada correctamente.", pero, lo cierto, es que nada cambia en la base de datos. Es más, cuando vuelvo a logear al usuario, he de utilizar la contraseña antigua, ya que la nueva no se ha registrado. Me imagino que el problema está en que los password se insertan en la bd encriptados a través de md5, pero no estoy segura de cómo solucionarlo. Por último destacar que los datos se ingresan en la tabla "usuarios" y en el campo "contrasenna", por si influye en algo.
Código PHP:
<?php include("conexion.php"); $link Conectarse (); // incluímos los datos de conexión a la BD
session_start();
?>
<?php
if(isset($_SESSION['USUARIO'])) { // comprobamos que la sesión esté iniciada
    //realizamos la comprobacion de los datos
        
if(isset($_POST['enviar'])) {
            if(
$_POST['clave'] != $_POST['repcontrasenna']) {
                echo 
"Las contraseñas ingresadas no coinciden. <a href='javascript:history.back();'>Reintentar</a>";
            }else {
                
$usuario $_SESSION['usuario'];
                
$clave mysql_real_escape_string($_POST["clave"]);
                
$contrasenna md5($clave); // encriptamos la nueva contraseña con md5
                
$sql mysql_query("UPDATE usuarios SET contrasenna='".$contrasenna."' WHERE usuario='".$usuario."'")or die(mysql_error());
                if(
$sql) {
                    echo 
"Contraseña cambiada correctamente.";
                }else {
                    echo 
"Error: No se pudo cambiar la contraseña. <a href='javascript:history.back();'>Reintentar</a>";
                }
            }
        }else {
?>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
        <form action="<?=$_SERVER['PHP_SELF']?>" method="post">
            <label>Nueva contraseña:</label><br />
            <input type="password" name="clave" maxlength="15" /><br />
            <label>Confirmar:</label><br />
          <input type="password" name="repcontrasenna" maxlength="15" /><br />
            <input type="submit" name="enviar" value="Enviar" />
        </form>
<?php
}
    }else {
        echo 
"Acceso denegado.";
    }
?>