php avec minuterie javascript - ce qui se passe lorsque les feuilles de l'utilisateur de la page avant que la minuterie est égal à zéro

StackOverflow https://stackoverflow.com/questions/4142530

  •  30-09-2019
  •  | 
  •  

Question

J'ai un jeu whene l'utilisateur peut gagner quelque chose. dès qu'il gagne, il a 60 secondes pour remplir son nom, il adresse etcotherwise perdre son prix et quelqu'un d'autre peut le prendre. quand il remplit pas l'adresse en 60 secondes, puis il est redirigé vers une page désolé trop tard et il perdre son prix. quand il remplit son adresse, il est redirigé vers une page de confirmation et peut réclamer son prix.

Je l'ai fait avec php et le compteur est en javascript. le javascript fera la redirection lorsque le temps = 0

Comment puis-je CONTROLL que l'utilisateur soit va à la page de confirmation ou à la soory à la page tard. Je me demande comment je peux être sûr que le compte à rebours de javascript est vraiment compté à zéro même wehn les feuilles utilisateurs la page.

Merci beaucoup

Était-ce utile?

La solution

essayez de ne pas confiance uniquement Javascript pour ce travail, utiliser PHP pour écrire le temps dans la session ou une base de données lorsque l'utilisateur obtient le formulaire à remplir ses données - vérifier la différence (avec php) entre ce départ temps et la fin du temps lorsque l'utilisateur soumet le formulaire au serveur et lui montrer la confirmation lorsque diff <= 1min ou lui montrer désolé à la fin quand diff> 1min

Autres conseils

Vous ne pouvez pas être sûr -. Vos utilisateurs peuvent facilement modifier votre javascript pour augmenter la limite de temps ou même désactiver complètement la minuterie

Le délai doit être validé sur le serveur. Je dirais que lorsque la limite de temps démarre le serveur stocke une ligne dans le stockage de base de données utilisateur, il est et quand la limite de temps a commencé. Lorsque l'utilisateur soumet le serveur doit vérifier la base de données pour voir combien de temps a passé.

Je pense aussi que d'avoir seulement 60 secondes pour remplir votre adresse est assez dure, mais c'est votre décision.

vous pouvez le faire, utilisez javascript pour interfase utilisateur, et lorsque les feuilles de l'utilisateur a déposé exécuter ajax appel à script php et enregistrer les données qu'il vient d'entrer dans le champ. Et faire de comptage réel en php, donc quand l'utilisateur soumet les données finales u devrait également vérifier si le temps a expiré en php.

Je pense que cela est une bonne solution pour votre problème.

Si vous faites cela en Javascript, tout le monde peut lire votre script et où trouver la page de prix est.

Au lieu de cela, exécutez votre minuterie avec PHP en utilisant microtime () . Vous pouvez commencer quand ils voient la page « You Win ». Il fonctionnera en arrière-plan, et ne dépendre d'aucune interaction de l'utilisateur.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top