[RESOLU] variable php dans javascript

Eléphant du PHP | 345 Messages

11 avr. 2022, 23:41

Bonjour,
ma variable php (ou le javascript?) ne se comporte pas comme je le souhaite.

$date = date('d M Y h:i:s', strtotime('now'));  // affichage de la date courante
$date_plus = date('d M Y h:i:s', strtotime('now +8 Hours'));   // on ajoute huit heures 

plus loin dans le javascript d'un compte à rebours, je récupère la variable

.......
var date_evenement = new Date("<?=$date_plus?>");
......

Le compte à rebours s'affiche bien et démarre... Le problème: il ne reste pas "fixe". Si par malheur on rafraichit la page,ou si on revient plus tard sur cette meme page, il redémarre depuis le début.
Y a t-il une solution de contournement?
(le problème n'existe pas lorsque je mets la date en dur)

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 9782 Messages

12 avr. 2022, 10:11

C'est normal vu que tu prends la date et l'heure actuelle.
A chaque chargement de la page, il reprend l'heure actuelle et rajoute 8h pour faire ton compte-à-rebours.

Tu voudrais quoi comme comportement ? tu peux nous donner un exemple ?
Quand tout le reste a échoué, lisez le mode d'emploi...

Eléphant du PHP | 345 Messages

12 avr. 2022, 15:57

Il faut que l'accès à la page demandée ne soit accessible que x heures plus tard et que cet intervalle de temps soit toujours effectif quelque part.
J'ai donc pensé à set time out mais ca ne va pas encore.
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr">
<head>
    <meta charset="UTF-8">
    <title>bla bla ccess</title>
<script type="text/javascript">
 setTimeout("window.location='https://www.page ciblef'",30000);       
</script>
</head>
<b>ARRIVÉE DANS:
<br><br>1 H</font>
<br></font></b>
<br><br><br><a href="page_membre.php">Retour</a>
</body>
</html>
Modifié en dernier par nestor94 le 12 avr. 2022, 21:02, modifié 1 fois.

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 9782 Messages

12 avr. 2022, 18:51

x heures plus tard que quoi ?

Donne nous un exemple concret stp.
Quand tout le reste a échoué, lisez le mode d'emploi...

Eléphant du PHP | 345 Messages

12 avr. 2022, 21:02

en l'occurence, accéder à la page

'https://www.page cible'; seulement huit heures plus tard mais pouvoir entretemps naviguer ailleurs et executer d'autres actions.

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 9782 Messages

13 avr. 2022, 00:13

Donc s'il s'agit de 8h plus tard que l'heure de 1ère connexion de ce navigateur, alors il faut que tu stockes l'heure de 1ère connexion dans un cookie ou dans une session.
Quand tout le reste a échoué, lisez le mode d'emploi...

Eléphant du PHP | 345 Messages

13 avr. 2022, 18:48

C'est quoi le mieux entre les deux?

Eléphant du PHP | 345 Messages

13 avr. 2022, 21:56

"Donc s'il s'agit de 8h plus tard que l'heure de 1ère connexion de ce navigateur, alors il faut que tu stockes l'heure de 1ère connexion dans un cookie ou dans une session."

Quand l'utilisateur va se deconnecter, ce fameux horaire va etre perdu, non?

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 9782 Messages

14 avr. 2022, 11:14

Le stockage dans un cookie sera le pus simple.
Le stockage dans une session sera plus sécurisé.

Tant que l'utilisateur ne supprime pas ses cookies (les sessions se basent aussi sur un cookie de session), alors cet horaire ne sera pas perdu.
Si il supprime ses cookies, il sera considéré comme un nouveau visiteur et donc repartira sur un délai de X heures.
Quand tout le reste a échoué, lisez le mode d'emploi...

Eléphant du PHP | 345 Messages

15 avr. 2022, 21:32

ok merci !