Validation d'un formulaire suite à un dépassement de temps

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Validation d'un formulaire suite à un dépassement de temps

par sadeq » 03 sept. 2008, 20:38

La balise :

Code : Tout sélectionner

<meta http-equiv="refresh" content="1;url=page_suivante.php">
va rediriger le navigateur vers l'url : page_suivante.php dans 1 seconde.

Mais si dans ton cas il faut provoquer un submit après un temps d'attente il faut à ce moment là utiliser javascript pour programmer un Timer qui déclenche un submit du formulaire après un temps d'attente. En voici une ébauche :

Code : Tout sélectionner

<script type="text/javascript"> var h=0, mn=0, s=0; //chrono affichable var temps = 0; //compteur de temps en secondes var timeout = 60*1; //1 mn d'attente en secondes function Timer() { //compter le temps passé en secondes temps++; //test d'arrêt if ( temps >= timeout ) { //envoi du formulaire vers une autre page form1.submit(); return; } //afficher le chrono s++; if (s>=60) { s=0; mn++;} if (mn>=60) {mn=0; h++;} if (h>=24) {h=0;} //format : 00:00:00 if (h<=9) h = "0" + parseInt(h); if (mn<=9) mn = "0" + parseInt(mn); if (s<=9) s = "0" + parseInt(s); document.getElementById("chrono").innerHTML = h + ":" + mn + ":" + s; setTimeout("Timer()",1000); //boucler le Timer toutes les secondes } </script> <body onload="Timer()"> <div id="chrono">00:00:00</div> <form name="form1" method="get" action="page_suivante.php"> <input name="var1" value="val1" /> <input type="submit" name="envoyer" value="Envoyer" /> </form> </form>

par @rthur » 03 sept. 2008, 19:52

Bonjour,

Regarde du côté de javascript et de setTimeout()

Validation d'un formulaire suite à un dépassement de temps

par pierrax » 03 sept. 2008, 19:26

Bonjour,

J'ai un qcm en php, nickel, ca marche.

Je voudrait ajouter une contraite de temps et valider le formulaire du qcm en cas de dépassement du temps et faire une redirection en conséquence.

Quelqu'un aurait une piste.

Merci pour vos réponses

:D