Foros del Web » Programando para Internet » PHP »

update de pass

Estas en el tema de update de pass en el foro de PHP en Foros del Web. Hola buena gente, necesito que el usuario al ingresar pueda modificar su pass. Pero no logro hacerlo funcionar. Aparte el pass en la bd lo ...
  #1 (permalink)  
Antiguo 06/03/2008, 17:00
 
Fecha de Ingreso: mayo-2004
Mensajes: 903
Antigüedad: 20 años
Puntos: 4
update de pass

Hola buena gente, necesito que el usuario al ingresar pueda modificar su pass.
Pero no logro hacerlo funcionar.
Aparte el pass en la bd lo tengo encriptado con MD5 porque uso el autentificador de CLUSTER (ojalá se le solucione todo y vuelva pronto).

Código HTML:
<form action="getchange.php" method="post">Nick :<br>
<input name="usuario" size="20" maxlength="20" type="text">
<p>Old Password:<br>
<input name="passanterior" size="28" maxlength="20" type="password">
</p><p>Password:<br>
<input name="pass" size="28" maxlength="20" type="pass">
<input class="boton" value="Registrar" type="submit">
</form> 

Código PHP:
<?php
$link 
mysql_connect('localhost''''1');
mysql_select_db('p_d'$link);
$_POST['usuario'];
$_POST['passanterior'];
$_POST['pass'];
$resp mysql_query ("SELECT pass FROM usuarios WHERE usuario='$usuario'");
$row mysql_fetch_array ($resp);
$passanterior$row['pass'];
if (
$passanterior == $passvieja)
{
mysql_query ("UPDATE usuarios SET pass='$pass' WHERE usuario='$usuario'");
echo 
"La contraseña ha sido cambiada exitoamente.";
}
else{
echo 
"Error: La contraseña no pudo cambiarse.";
}
?>
  #2 (permalink)  
Antiguo 06/03/2008, 17:12
Avatar de Carlojas  
Fecha de Ingreso: junio-2007
Ubicación: Shikasta
Mensajes: 1.272
Antigüedad: 16 años, 10 meses
Puntos: 49
Re: update de pass

Si estan encriptandos los datos de tu BD con MD5 debes de comparar los datos con MD5

Código PHP:
<?php
$link 
mysql_connect('localhost''''1');
mysql_select_db('p_d'$link);
$usuario $_POST['usuario'];
$passvieja md5($_POST['passanterior']);
$pass md5($_POST['pass']);
$resp mysql_query ("SELECT pass FROM usuarios WHERE usuario = '$usuario'"$link) or die( mysql_error() );
$row mysql_fetch_array ($resp);
if (
$row['pass']== $passvieja)
{
mysql_query ("UPDATE usuarios SET pass = '$pass' WHERE usuario = '$usuario'"$link) or die( mysql_error() );
echo 
"La contraseña ha sido cambiada exitoamente.";
}
else{
echo 
"Error: La contraseña no pudo cambiarse.";
}
?>
Saludos.
  #3 (permalink)  
Antiguo 06/03/2008, 19:04
Avatar de eits  
Fecha de Ingreso: junio-2005
Ubicación: valladolid, yucatán
Mensajes: 1.655
Antigüedad: 18 años, 10 meses
Puntos: 88
Re: update de pass

Código PHP:
$usuario=$_POST['usuario'];//usuario que desea cambiar pass
$pass_ant=md5($_POST['passanterior']);//pasar a md5 el pass anterior
$pass=$_POST['pass'];//pass nuevo
//checamos si existe el usuario y si la contraseña es correcta
//para evitar que cualquier persona sabiendo el nombre de usuario
//pueda cambiar la contraseña.
$resp mysql_query ("SELECT pass FROM usuarios WHERE usuario='$usuario' AND pass='$pass_ant'");
$row mysql_num_rows ($resp);//obtenemos el numero de registros encontrados(siempre debe de ser uno)
if ($row['pass']==1){//si el resultado es uno es que es existe el usuario y la contraseña anterior es correcta
//actualizamos el pass
mysql_query ("UPDATE usuarios SET pass='$pass' WHERE usuario='$usuario'");
echo 
"La contraseña ha sido cambiada exitosamente.";
}
else{
//de lo contrario, mandamos el error.
echo "Error: La contraseña no pudo cambiarse.";

saludos.
__________________
El amor es la locura mas lucida que tiene el hombre.- Andres Henestrosa
la tristeza no existe, solo es... la ausencia de la felicidad.
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 11:06.