Problema de refresco
Publicado por Pablo (44 intervenciones) el 21/04/2015 15:25:42
Hola,
He hecho una "porra" para la cual he dispuesto una tabla, dínde tengo el listado de participantes.
Mediante email, he invitado a los participantes, añadiendo un enlace dónde va su código en la tabla, de tal manera que si acceden, pueden introducir el resultado.
A la vez que envían el resultado, actualizo un campo de la tabla llamado verif que solo puede ser SI o NO.
Entonces, para evitar que un usuario introduzca varios resultados (a medida que vaya pasando la competición) he hecho esto:
Y me funciona bien, excepto en IE8 (que es lo que usan la mayoría).
En IE8, si alguien accede al enlace de nuevo (a no ser que haya pulsado F5 o cerrado el navegador) una vez introducida una cantidad, puede volver a introducirla de nuevo. Es decir, es como si se encontrara Verif = NO, y yo veo en la base de datos que está a SI, por lo que lo que le debería mostrar es el mensaje de rechazo.
¿Cómo puedo "programar" un F5?
He problado con el refresh de la etiqueta META y refresca, pero no funciona.
He hecho una "porra" para la cual he dispuesto una tabla, dínde tengo el listado de participantes.
Mediante email, he invitado a los participantes, añadiendo un enlace dónde va su código en la tabla, de tal manera que si acceden, pueden introducir el resultado.
A la vez que envían el resultado, actualizo un campo de la tabla llamado verif que solo puede ser SI o NO.
Entonces, para evitar que un usuario introduzca varios resultados (a medida que vaya pasando la competición) he hecho esto:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
include('./scripts/params.php');
if(isset($_REQUEST['email'])){
$correo = $_REQUEST['email'];
$conexion = new PDO($connString,$user,$sectoken);
$consultar = $conexion->query("SELECT * FROM participantes WHERE email = '" . $correo . "'");
foreach ($consultar as $registro){
if(($correo == $registro['email']) && ($registro['verif'] == 'NO')){
cabecera();
formulario($registro['id'],$registro['firstname']);
pie();
} elseif (($correo == $registro['email']) && ($registro['verif'] == 'SI')){
cabecera();
rechazada($registro['firstname']);
pie();
}
Y me funciona bien, excepto en IE8 (que es lo que usan la mayoría).
En IE8, si alguien accede al enlace de nuevo (a no ser que haya pulsado F5 o cerrado el navegador) una vez introducida una cantidad, puede volver a introducirla de nuevo. Es decir, es como si se encontrara Verif = NO, y yo veo en la base de datos que está a SI, por lo que lo que le debería mostrar es el mensaje de rechazo.
¿Cómo puedo "programar" un F5?
He problado con el refresh de la etiqueta META y refresca, pero no funciona.
Valora esta pregunta


0