Foros del Web » Programando para Internet » PHP »

PHP OO Modificar contraseña

Estas en el tema de Modificar contraseña en el foro de PHP en Foros del Web. Hola. Me estoy encontrando con un problema y no doy con la solución. Quiero que los usuarios puedan modificar su contraseña, pero no soy capaz ...
  #1 (permalink)  
Antiguo 14/06/2011, 11:18
 
Fecha de Ingreso: febrero-2011
Mensajes: 62
Antigüedad: 13 años, 1 mes
Puntos: 0
Modificar contraseña

Hola.

Me estoy encontrando con un problema y no doy con la solución.

Quiero que los usuarios puedan modificar su contraseña, pero no soy capaz de que me funcione el script, en teoria deberia de detenerse si no es correcta la comparacion entre los valores de las variables, pero continua con el script, y no encuentro el error

Script:
Código PHP:
$error="";
if(
$error==""){

/*Comparo password de bbdd con oldpass */
        
if(!comparar_cadena($password,$oldpass)){
        
$error.="<b>Tu Antigua Contraseña No Coincide.</b><br>";        
        }
        
/*Comparo password newpass con newpass2 y defino variable */
        
if(!comparar_cadena($newpass,$newpass2)){
        
$error.="<b>Tu Nueva Contraseña No Coincide.</b><br>";
        }
        
$newpassword md5($newpass);
}else{
echo 
"No Ha Sido Posible Cambiar la contraseña, Pulse <a href='javascript:history.go(-1)'><b>Aqui</b></a> Para Corregir Los Siguientes Errores<br><br>";
echo 
"Ocurrieron Los Siguientes Errores:<br><br>".$error;
exit;

Función:
Código PHP:
/*Comparar Variables*/
function comparar_cadena($cadena1,$cadena2){
if(
strcmp($cadena1===$cadena2)){
return 
true;
}else{
return 
false;
}

Me podrian ayudar a encontrar el error

Gracias

Un saludo
  #2 (permalink)  
Antiguo 14/06/2011, 11:21
 
Fecha de Ingreso: enero-2011
Ubicación: DF
Mensajes: 898
Antigüedad: 13 años, 2 meses
Puntos: 155
Respuesta: Modificar contraseña

Código PHP:
function comparar_cadena($cadena1,$cadena2){
if(
$cadena1==$cadena2){
return 
true;
}else{
return 
false;
}

__________________
No me interesan ni las gracias ni los karmas , pero si que se genere conocimiento, si se dio con la respuesta por favor confirmalo
  #3 (permalink)  
Antiguo 14/06/2011, 11:23
Avatar de iviamontes  
Fecha de Ingreso: enero-2011
Ubicación: $cubano->Arg->Mendoza
Mensajes: 1.184
Antigüedad: 13 años, 3 meses
Puntos: 209
Respuesta: Modificar contraseña

pero y pq no haces la consulta update y si la cantidad de registros afectados es 1 es que se actualizo bien, si es 0 pues no...
  #4 (permalink)  
Antiguo 14/06/2011, 11:31
 
Fecha de Ingreso: febrero-2011
Mensajes: 62
Antigüedad: 13 años, 1 mes
Puntos: 0
Respuesta: Modificar contraseña

Por que para que cambie la contraseña el usuario queria comparar que la que hay en la BBDD con la que el introduzca, y luego comparar la nueva contraseña, que va repetida por si la introduce con error alguna de las dos veces,
Ejemplo de la nueva contraeña;
Nueva: amgel
Repetida: angel
Puede tener un error al escribirla por eso quiero comparar la nueva contraseña y la vieja por seguridad para que no la pueda cambiar alguien que no sepa la antigua.
  #5 (permalink)  
Antiguo 14/06/2011, 11:33
 
Fecha de Ingreso: febrero-2011
Mensajes: 62
Antigüedad: 13 años, 1 mes
Puntos: 0
Respuesta: Modificar contraseña

Cita:
Iniciado por mogurbon Ver Mensaje
Código PHP:
function comparar_cadena($cadena1,$cadena2){
if(
$cadena1==$cadena2){
return 
true;
}else{
return 
false;
}

Tambien lo he probado y no se me detiene el script aun que no sean iguales las contraeñas.

Un saludo
  #6 (permalink)  
Antiguo 14/06/2011, 12:06
 
Fecha de Ingreso: febrero-2010
Mensajes: 295
Antigüedad: 14 años, 2 meses
Puntos: 58
Respuesta: Modificar contraseña

¿Y donde esperas que se detenga el script?

Esta instrucción

$newpassword = md5($newpass);

se va a ejecutar siempre, independientemente de cualquier cosa.

¿Por qué debería detenerse?, ¿donde?
  #7 (permalink)  
Antiguo 14/06/2011, 12:13
 
Fecha de Ingreso: enero-2011
Ubicación: DF
Mensajes: 898
Antigüedad: 13 años, 2 meses
Puntos: 155
Respuesta: Modificar contraseña

asi seria la funcion , ya probada y todo el pdo , pero lo que dice nexus es verdad, si no indicas que se detenga , no se va a detener jamas

Código PHP:
Ver original
  1. function comparar_cadena($cadena1,$cadena2){
  2.     if(strcmp($cadena1,$cadena2)==0){
  3.         return true;
  4.     }else{
  5.         return false;
  6.     }
  7. }
  8.  
  9. $pass1="chana";
  10.  
  11. $pass2="chana";
  12.  
  13. if(!comparar_cadena($pass1,$pass2)){
  14.    $mensaje="<b>Tu Antigua Contraseña No Coincide.</b><br>";        
  15. }
  16. else{
  17.     $mensaje="coincide";
  18. }
  19. echo $mensaje;
__________________
No me interesan ni las gracias ni los karmas , pero si que se genere conocimiento, si se dio con la respuesta por favor confirmalo
  #8 (permalink)  
Antiguo 14/06/2011, 12:27
 
Fecha de Ingreso: febrero-2011
Mensajes: 62
Antigüedad: 13 años, 1 mes
Puntos: 0
Respuesta: Modificar contraseña

Ya lo solucione era solo la negación.

Muchas gracias de todos modos.

El script se detiene en $error. al recibir false de la función.

Gracias de nuevo.

Un saludo.

Etiquetas: contraseña, modificar
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 09:12.