IdentifiantMot de passe
Loading...
Mot de passe oubli� ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les r�ponses en temps r�el, voter pour les messages, poser vos propres questions et recevoir la newsletter

JavaScript Discussion :

Timer Javascript / PHP non r�initialis� sur reload


Sujet :

JavaScript

Vue hybride

Message pr�c�dent Message pr�c�dent   Message suivant Message suivant
  1. #1
    Membre confirm�
    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    122
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2009
    Messages : 122
    Par d�faut Timer Javascript / PHP non r�initialis� sur reload
    Bonjour,

    Je cherche � r�aliser un petit timer :

    - Lorsque l'utilisateur arrive sur la page et qu'il entre une mauvaise r�ponse, le timer se d�clenche, afin de l'emp�cher de rentrer une autre r�ponse dans le laps de temps ;
    - Le timer n'est pas r�initialis� sur reload de la page ou fermeture de la page.

    J'imagine qu'il faut aller voir du c�t� d'une session PHP + javascript ?


    Merci par avance pour votre aide !

  2. #2
    Membre extr�mement actif Avatar de psychadelic
    Profil pro
    Inscrit en
    Mai 2010
    Messages
    2 532
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2010
    Messages : 2 532
    Par d�faut
    Citation Envoy� par cyberlp Voir le message
    - Le timer n'est pas r�initialis� sur reload de la page ou fermeture de la page.
    Dans ce cas mieux vaut �viter un reLoad et en passer par un envoi en Ajax.

    Pour la fermeture de la page, les variables de session sont aussi perdues, mieux vaut envisager un cookie

  3. #3
    Membre confirm�
    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    122
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2009
    Messages : 122
    Par d�faut
    Ok. Alors l'id�e donc c'est qu'il y a un formulaire avec un champ, dans lequel l'utilisateur entre sa r�ponse.
    Si elle est correcte, tant mieux, il a gagn�.
    Si elle est incorrecte, un message d'erreur s'affiche. S'il rentre � nouveau une r�ponse incorrecte trop rapidement (ici en moins de 30 secondes), le formulaire ne s'affiche pas, avec � la place un compte � rebours lui disant : "Vous ne pourrez pas saisir de nouvelle r�ponse avant X secondes".

    Tout cela fonctionne. Si jamais l'utilisateur rafra�chit en faisant F5, �a fonctionne toujours, mais s'il se contente de retaper l'URL, tout est r�initialis� en effet. Du coup comment utiliser un cookie dans le code ci-apr�s ?

    Merci par avance !


    Code html : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
     
    <?php
        if (!isset($time)) {
        session_start();
        $_SESSION['question_start'] = time();
        $time=$_SESSION['question_start'];
        }
    ?>
     
    <?php if ($_POST['uname']=="bidule") { 
    ?><div class="time message"><?php echo $bravo; $reussite=1; ?></div>
    <?php } 
    if (isset($_POST['uname'])) { 
    ?><div class="time message">
        <?php
        echo $erreur; 
        $timediff = time() - $_POST['timer'];
      ?>
        </div>
    <?php      } ?>
     
    <?php if ($reussite != 1) { ?>
    <div class="time">Entrer la réponse :</div>
     
    <?php 
    if ((isset($timediff)) && ($timediff < 30)) {
    ?>
    <script>
    var sTime = new Date().getTime();
    var countDown = 120;
     
    function UpdateTime() {
        $("#form").hide();
        var cTime = new Date().getTime();
        var diff = cTime - sTime;
        var seconds = countDown - Math.floor(diff / 1000);
        if (seconds >= 0) {
            var minutes = Math.floor(seconds / 60);
            seconds -= minutes * 60;
            $("#delai").html("<div style='padding:10px;'>Vous pourrez saisir une nouvelle réponse dans :<br/></div>");
            $("#minutes").html(minutes < 10 ? "0" + minutes : minutes);
            $("#seconds").html(seconds < 10 ? "0" + seconds : seconds);
         } else {
            $("#countdown").hide();
            $("#form").show();
            var compteur = 1;
            clearInterval(counter);
        }
    }
    UpdateTime();
    var counter = setInterval(UpdateTime, 500);
    </script>
     
    <div id="countdown">
        <div id="delai" style="float:left"></div>
        <div id="minutes" style="float:left;">00</div>
        <div style="float:left; font-size:2em; line-height: 100%;">:</div>
        <div id="seconds" style="float:left;">00</div>
    </div>
     
    <?php } ?>
     
    <div id="form">
    <form id="form" method="post" action="<?php echo htmlspecialchars($_SERVER["PHP_SELF"]);?>">
      <div id="input" class="container">
        <label><b></b></label>
        <input type="text" placeholder="" name="uname" maxlength="11">
        <input type="hidden" name="timer" value="<?=$time;?>">
        <button type="submit">OK</button>
      </div>
    </form>
    <br/>
     </div>
     
    <?php  } ?>

  4. #4
    Membre extr�mement actif Avatar de psychadelic
    Profil pro
    Inscrit en
    Mai 2010
    Messages
    2 532
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2010
    Messages : 2 532
    Par d�faut
    ma r�ponse pr�c�dente parle requ�te Ajax et de Cookies; tout �a ce g�re en uniquement JavaScript.
    Le PHP n'intervient qu'en r�ponse � la requ�te Ajax.
    Il n'y nul besoin de variables de session, et la page pourrait �tre en HTML pur, sans la moindre trace de PHP dedans...

Discussions similaires

  1. Php non reconnu sur nouveau ndd
    Par cuisto44000 dans le forum Linux
    R�ponses: 3
    Dernier message: 16/10/2014, 11h33
  2. Pages PHP non reconnues sur serveur
    Par paintbox dans le forum Langage
    R�ponses: 12
    Dernier message: 25/03/2009, 23h18
  3. [flash][javascript][php]double evenement sur swf
    Par nicerico dans le forum Flash
    R�ponses: 3
    Dernier message: 28/11/2006, 07h04
  4. PHP non ex�cut� sur phppgadmin
    Par symbolyk dans le forum PostgreSQL
    R�ponses: 3
    Dernier message: 12/10/2006, 14h32
  5. [Javascript / PHP] Tooltip sur une ligne php
    Par tchoukapi dans le forum G�n�ral JavaScript
    R�ponses: 4
    Dernier message: 21/10/2005, 17h12

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo