Te armo algo para ayudarte:
Primero tenes que saber el id del usuario que quiere cambiar su contraseña, una vez que tenes ese dato, solo tenes que ver en una tabla
contras por ejemplo, cuantas contraseñas almaceno dicho usuario, si tiene trece tomas la mas antigua y la modificas con el nuevo valor y la nueva fecha, entonces esta ya no es la mas antigua si no la mas nueva, por lo que la proxima vez va a modificar otra contraseña, pero si tiene menos de 13 creas otro registro...
para eso en la tabla contras tenes que tener los valores de id (bigint, primery key, autoincrement), iduser (bigint), contra (varchar 30 +/-) , fecha (datetime)
nota:en fecha pone datetime asi no hay riesgo de que si cambia contraseña varias veces el mismo dice se complique la cosa
y usas lo siguiente
archivo modificar.php
Código PHP:
Ver original<php
$iduser="";//aca tenes que poner el valor de la id del usuario logeado con un valor de session lo hago yo
$contras="contras";//nombre de la tabla que guarda las contraseñas
if(isset($_POST['modificar'])){ $contra=$_POST['contra'];
if($contra){
//aca averiguamos cuantos registros tiene este usuario en la tabla contras
$sentencia = "SELECT id FROM $contras WHERE iduser='".$iduser."';";
if($numrows ==13) {
//si hay 13 registros de ese usuario, seleccionamos el mas viejo y lo modificamos
$sent="SELECT id FROM $contras order by fecha asc LIMIT 1";
$id=$ver['id'];
//cambiamos el valor de contra en el registro mas viejo
$sql = "UPDATE $contras SET contra = $contra WHERE id='".$id."';";
//y actualizamos la fecha a la actual
$sql = "UPDATE $contras SET fecha = now() WHERE id='".$id."';";
}else{
//como tiene menos de 13 agregamos un registro nuevo
$agregar = "INSERT INTO $contras(iduser, contra, fecha) VALUES('"
. $iduser. "','".$contra."',now())";
}
echo"SU CONTRASEÑA HA SIDO MODIFICADA, GRACIAS...";
}else{echo"EL CAMPO CONTRASEÑA NO PUEDE ESTAR VACIO...";}
}//if post mod¡ficar
?>
<form action="modificar.php" method="post">
Ingresar la nueva contraseña:<br/>
Contraseña: <input name="contra" type="text"><br/>
<input type="submit" name="modificar" value="Modificar Contraseña">
</form>
bueno... creo que con eso tiene que andar, no lo probe pero cualquier cosa lo vemos, saludos...