Estoy re-haciendo la forma de restablecer contraseñas, y para ello uso un código aleatorio.
Dicho código se envía por email como enlace a el usuario que lo requiera y también lo guardo en mi base de datos.
Al hacer click, en esta página de pruebas, por PHP recojo ese código, y si es correcto, le establezco una contraseña que se encuentra en una variable.
Para determinar si es correcto, le "pregunto" a PHP cuál es el 'REQUEST_URI' + el código de activación.
El problema es que no me respeta la condición de "si el URI no es igual a /ruta/archivo.php? + el código de activación, muestra el error, pero si lo es, introduce la contraseña".
Os dejo el código...
Código PHP:
Ver original
$codigo_activacion = $_GET["codigo"]; //Obtenemos la clave del email $password="PRUEBA011"; if( $_SERVER['REQUEST_URI'] != "/BD/nueva_pass.php?codigo=".$codigo_activacion) { $query = "UPDATE usuarios SET password='$password' WHERE codigo_nueva_pass='$codigo_activacion' "; $mensaje = "Todo OK, nueva password asignada"; } else { }
Sin embargo, aunque el código sea correcto, no me lo da por válido.
Lo compruebo de esta manera:
Código HTML:
Ver original
Ejemplo gráfico: