JavaScriptタイマー付きPHP-タイマーがゼロになる前にユーザーがページを離れるとどうなりますか
-
30-09-2019 - |
質問
ユーザーが何かに勝つことができるとき、私はゲームを持っています。彼が勝つとすぐに、彼はアドレスの名前などを埋めるために60秒かかります。彼が60秒でアドレスを埋めないと、彼は後すぎるページにリダイレクトされ、彼は価格を失います。彼がアドレスを埋めると、彼は確認ページにリダイレクトされ、彼の価格を請求することができます。
私はこれをPHPで作り、カウンターはJavaScriptにあります。 JavaScriptは、時間= 0のときにリダイレクトを行います
ユーザーが確認ページまたはSOORYから遅いページに移動することを制御するにはどうすればよいですか。 JavaScriptカウントダウンが、ユーザーがページを離れることであっても、実際にゼロにカウントされることをどのように確信できるのだろうと思います。
どうもありがとう
解決
このジョブのJavaScriptのみを信頼しないようにしてください。PHPを使用して、ユーザーがフォームを取得してデータを入手したときにセッションに時間を書きます - この開始時間と終了の間の違い(PHPで)を確認してください。ユーザーがフォームをサーバーに送信し、diff <= 1minのときに確認を表示するか、diff> 1分の場合は申し訳ありませんが、申し訳ありませんが、彼に申し訳ありません。
他のヒント
確信が持てません - ユーザーはJavaScriptを簡単に変更して時間制限を増やしたり、タイマーを完全に無効にしたりできます。
時間制限はサーバーで検証する必要があります。時間制限が起動すると、サーバーがデータベースに行を保存する行を保存する場合、どのユーザーが格納され、時間制限が開始されたときにお勧めします。ユーザーが送信すると、サーバーはデータベースをチェックして、どのくらいの時間が経過したかを確認する必要があります。
また、あなたの住所に記入するのにわずか60秒があることはかなり厳しいと思いますが、それはあなたの決定です。
これを行い、ユーザーインターフェースにJavaScriptを使用し、ユーザーがPHPスクリプトに提出されたajax呼び出しを残し、フィールドに入力したデータを保存することもできます。 PHPでの実際のカウントは、ユーザーが最終データを提出する場合、PHPで時間が切れたかどうかを確認する必要があります。
これはあなたの問題に対する良い解決策だと思います。
JavaScriptでこれを行うと、誰でもあなたのスクリプトを読んで、賞品ページがどこにあるかを見つけることができます。
代わりに、PHPを使用してタイマーを実行します microtime(). 。 「You Win」ページが表示されたときに始めることができます。バックグラウンドで実行され、ユーザーの相互作用に依存しません。