Ver Mensaje Individual
  #8 (permalink)  
Antiguo 18/08/2010, 05:43
Avatar de OsSk4R
OsSk4R
 
Fecha de Ingreso: octubre-2006
Ubicación: $this->home
Mensajes: 824
Antigüedad: 18 años, 1 mes
Puntos: 74
Respuesta: Historial de contraseñas

agutierrezd, creí que lo estabas haciendo de otra manera, por eso te dije eso...
Bueno mira, te he realizado dos códigos que funcionan. Te he realizado 2 porque en primer lugar hice el primer, pero claro luego pense...¡Necesita que haga la comprobación con las 3 últimas contraseñas!. Así que tuve que modifcarlo un poco...

Resultado:

Este código comprueba si la contraseña nueva que esta poniendo X usuario la cambió en un pasado... Eso sí, comprueba todas las contraseñas que tiene ese usuario. No las 3 últimas.

Código PHP:
Ver original
  1. $id_usuario_conectado = '1'; //ID del usuario que esta enviando el cambio...
  2.     $password_que_envia = '123456'; //Password nuevo que quiere cambiar
  3.  
  4.     $query_rsaaa = "SELECT * from log_pwd WHERE id_user = '$id_usuario_conectado' AND pwd_user = '$password_que_envia'";
  5.     $rsaaa = mysql_query($query_rsaaa, $oConnXXX) or die(mysql_error());
  6.    
  7.     $totalRows_rsaaa = mysql_num_rows($rsaaa);
  8.    
  9.     if($totalRows_rsaaa >= 1){
  10.         echo 'No puede usar esta contraseña, ya fué utilizada anteriormente.';
  11.     }
  12.     else{
  13.         echo 'Esta contraseña es nueva y nunca la ha utilizado, por tanto, puede utilizarla.';
  14.     }

Y este último, es un poco más rústico, primitivo... como quieras llamarlo . Y éste sí comprueba las 3 últimas contraseñas. (Sí, quizás se podría a ver hecho mejor, pero me ha salido así )

Código PHP:
Ver original
  1. $id_usuario_conectado = '1'; //ID del usuario que esta enviando el cambio...
  2.     $password_que_envia = '123456'; //Password nuevo que quiere cambiar
  3.    
  4.     $query_rsaaa="SELECT * from log_pwd WHERE id_user = '$id_usuario_conectado' ORDER BY id DESC LIMIT 3";
  5.     $rsaaa = mysql_query($query_rsaaa, $oConnXXX) or die(mysql_error());
  6.     while($totalRows_rsaaa=mysql_fetch_assoc($rsaaa)){
  7.     $contra .= $totalRows_rsaaa['password'];
  8.     }
  9.     if(eregi($password_que_envia, $contra)){
  10.     echo 'No puede usar esta contraseña, ya fué utilizada anteriormente.';
  11.     }
  12.     else{
  13.         echo 'Esta contraseña es nueva y nunca la ha utilizado, por tanto, puede utilizarla.';
  14.    
  15.     }

Eso es todo. Ló único que falta (creo) es terminar de adaptarlo a tu código.

Saludos,