Ver Mensaje Individual
  #1 (permalink)  
Antiguo 24/03/2015, 17:59
Avatar de NueveReinas
NueveReinas
 
Fecha de Ingreso: septiembre-2013
Ubicación: No tan Buenos Aires
Mensajes: 1.101
Antigüedad: 10 años, 8 meses
Puntos: 145
Busqueda No me respeta la condición

Hola de nuevo

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
  1. $codigo_activacion = $_GET["codigo"]; //Obtenemos la clave del email
  2.  
  3. $password="PRUEBA011";
  4.  
  5. if( $_SERVER['REQUEST_URI'] != "/BD/nueva_pass.php?codigo=".$codigo_activacion) {
  6. $query = "UPDATE usuarios SET password='$password' WHERE codigo_nueva_pass='$codigo_activacion' ";
  7. mysqli_query($connection, $query) or die(mysql_error());
  8. $mensaje = "Todo OK, nueva password asignada";
  9. }
  10. else {
  11. $mensaje = "Error, código inválido. ".mysql_error();
  12. }

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
  1. <p>$_SERVER['REQUEST_URI'] = <?php echo $_SERVER['REQUEST_URI'] ?></p>
  2. <p>$codigo_activacion = <?php echo $codigo_activacion ?></p>
  3. <p><?php echo $mensaje ?></p>

Ejemplo gráfico:



__________________
¿Te sirvió la respuesta? Deja un +1