Foros del Web » Programando para Internet » PHP »

Problema cambio contraseña en aplicacion

Estas en el tema de Problema cambio contraseña en aplicacion en el foro de PHP en Foros del Web. Hola amig@s, tengo un problemilla, estoy haciendo una aplicacion web y estoy implementando la funcionalidad de que el usuario cambie de contraseña. Escribo el código: ...
  #1 (permalink)  
Antiguo 24/09/2008, 05:23
 
Fecha de Ingreso: junio-2008
Mensajes: 56
Antigüedad: 15 años, 11 meses
Puntos: 1
Problema cambio contraseña en aplicacion

Hola amig@s, tengo un problemilla, estoy haciendo una aplicacion web y estoy implementando la funcionalidad de que el usuario cambie de contraseña.

Escribo el código:

Cita:
<form name="cambiarpassword" method="post" action="nuevacontrasena.php">
<table><tr><td><b>Contraseña actual: </b></td><td><input type="password" name="usuario" size="20"></td></tr>
<tr><td><b>Nueva Contraseña: </b></td><td><input type="password" name="password" size="20"></td></tr>
<tr><td><b>Repita la Nueva Contraseña: </b></td><td><input type="password" name="r_password" size="20"></td></tr></table>
<center><input type="submit" name="BotonNuevaContrasena" value="Enviar"></center>
</form>
</center>
<?php
include("datosconexion.php");
$bbdd = mysql_connect($host, $usuario, $password) or die ("Could not connect: " . mysql_error()); //conectamos con base de datos.
$tablausuario = mysql_select_db($bd, $bbdd) or die(mysql_error());//seleccionamos base de datos fichaje de nuestra base de datos.
$consultacontrasena = 'select pass from usuarios where user="'.$_SESSION[login].'" '; //consulta si password es igual que base de datos.
echo $consultacontrasena;
if ($consultacontrasena) {
if ($_POST['password'] == $_POST['r_password']) {
$inserta_new_passw = 'UPDATE usuarios SET pass= "$_POST[password]" WHERE usuario = "$_POST[login]" ';
if ($inserta_new_passw) {
echo 'Su contraseña se ha guardado correctamente';}
}
else {
echo ' La contraseña no es igual, vuelva a repetirla';
}

}
else {
echo 'Su contraseña no es correcta o su usuario no existe';
}
?>
Pero siempre que ejecuto me pasa por la rama de "su contraseña se ha guardado correctamente" voy a comprobarlo en la base de datos y no es así, la contraseña no se ha cambiado, aunq ponga 2contraseñas nuevas diferentes o una contraseña incorrecta me sigue pasando por la misma ramo, por lo que en algún sitio me está fallando y mucho.

Espero que me puedan ayudar.

Gracias.
  #2 (permalink)  
Antiguo 24/09/2008, 05:32
Avatar de jaronu  
Fecha de Ingreso: febrero-2008
Mensajes: 2.183
Antigüedad: 16 años, 2 meses
Puntos: 52
Respuesta: Problema cambio contraseña en aplicacion

creo que te falta una linea que ordena hacer el update
Código PHP:


$inserta_new_passw 
'UPDATE usuarios SET pass= "$_POST[password]" WHERE 
usuario = "$_POST[login]" '
;

mysql_query($inserta_new_passw) or die(mysql_error());// linea nueva

if ($inserta_new_passw) { 
echo 
'Su contraseña se ha guardado correctamente';} 

else {
echo 
' La contraseña no es igual, vuelva a repetirla';
}

}
else {
echo 
'Su contraseña no es correcta o su usuario no existe';

?> 
  #3 (permalink)  
Antiguo 24/09/2008, 05:45
 
Fecha de Ingreso: junio-2008
Mensajes: 56
Antigüedad: 15 años, 11 meses
Puntos: 1
Respuesta: Problema cambio contraseña en aplicacion

Ya he corregido parte del código poniendo la instrucción q ejecuta la consulta, q se me habia pasado!!

Hay va el código:

Cita:
<form name="cambiarpassword" method="post" action="nuevacontrasena.php">
<table><tr><td><b>Contraseña actual: </b></td><td><input type="password" name="usuario" size="20"></td></tr>
<tr><td><b>Nueva Contraseña: </b></td><td><input type="password" name="password" size="20"></td></tr>
<tr><td><b>Repita la Nueva Contraseña: </b></td><td><input type="password" name="r_password" size="20"></td></tr></table>
<center><input type="submit" name="BotonNuevaContrasena" value="Enviar"></center>
</form>
</center>
<?php
include("datosconexion.php");
$bbdd = mysql_connect($host, $usuario, $password) or die ("Could not connect: " . mysql_error()); //conectamos con base de datos.
$tablausuario = mysql_select_db($bd, $bbdd) or die(mysql_error());//seleccionamos base de datos fichaje de nuestra base de datos.
$consultacontrasena = 'select pass from usuarios where user="'.$_SESSION[login].'" '; //consulta si password es igual que base de datos.
$query = mysql_query($consultacontrasena) or die(mysql_error()); //linea nueva para que ejecute la consulta
echo $query;
if ($query) {
if ($_POST['password'] == $_POST['r_password']) {
$inserta_new_passw = 'UPDATE usuarios SET pass= "$_POST[password]" WHERE usuario = "$_POST[login]" ';
$modifica = mysql_query($inserta_new_passw) or die(mysql_error());//linea nueva para que ejecute la consulta
if ($modifica) {
echo 'Su contraseña se ha guardado correctamente';}
}
else {
echo ' La contraseña no es igual, vuelva a repetirla';
}

}
else {
echo 'Su contraseña no es correcta o su usuario no existe';
}
?>
Pero ahora me sale un error que nunca me habia salido antes: "Resource id #5" y creo que puede ser del ECHO '$query', y aún NO me cambia la contraseña en la base de datos.

La base de datos se llama fichaje y tiene 2 tablas:

usuarios: id, user, pass.
fichaje: id, user, fecha, hora, ip, entrada_salida.

Haber si me podeis ayudar. Gracias.
  #4 (permalink)  
Antiguo 24/09/2008, 06:09
Avatar de jaronu  
Fecha de Ingreso: febrero-2008
Mensajes: 2.183
Antigüedad: 16 años, 2 meses
Puntos: 52
Respuesta: Problema cambio contraseña en aplicacion

escribe el error completo
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 15:26.