10318 sujets

JavaScript, DOM et API Web HTML5

Bonjour,

Je suis en train de créer un compte à rebours sur un jeu de lettres PHP (type boggle, avec des anagrammes) dont la page est constamment rafraîchie.

J'ai créé une fonction js pour comparer(*) le timestamp actuel (questionné en js) au timestamp de fin de jeu (défini dans une session php)(**) à chaque fois que le joueur presse une lettre dans un input(***)
Mais cette fonction ne déclenche pas...

(***)
<form action="play.php" method="post">
  <input type="text" name="mot" id="mot" placeholder="mot" maxlength="16" autofocus onkeypress="isItTheEnd();">
  <input type="submit" name="ok" value="ok" id='envoimot'>
</form>



(**) -- début du fichier play.php

// nombre de coups
$_SESSION['tentatives'][] = '1';
$tentatives = count($_SESSION['tentatives']);

// dès le premier coup, inscrire quand commence le jeu (timestamp du 1er coup) dans une session pour pouvoir (js) bloquer le jeu après 2mn (timestamp+120) 
if($tentatives == '1') {
  $now = strtotime("now");
  $_SESSION['timestamp'] = [
    'debut' => $now,
    'fin' => $now+120,
  ];
}


(*) -- fin du fichier play.php

<script>
function isItTheEnd() {
// définir le timestamp actuel
  var timestamp = Math.round(new Date().getTime() / 1000);

// réagir avec une popup si le timestamp actuel est plus grand que le timestamp de fin qui a été établi et stocké en session
  if(timestamp > <?php echo $_SESSION['timestamp']['fin']; ?>) {
    alert('stop');
  }
}
</script>


Avez-vous une idée de la raison de la raison qui explique pourquoi ma fonction js ne déclenche pas (je suppose que la passation d'une valeur PHP à JS fonctionne mal ?) et d'une solution pour arriver à mes fins, svp ?

Merci d'avance pour votre aide ! Smiley cligne
Modifié par Reka (10 Jan 2019 - 23:05)
Au temps pour moi, mon script fonctionne.
Je peux pas supprimer mon post, donc pardon pour le dérangement Smiley cligne