1

ユーザーが何かを獲得できるゲームがあります。彼が勝つとすぐに、住所名などを記入するのに 60 秒が与えられます。60 秒以内にアドレスを入力しないと、申し訳ありませんが遅すぎるページにリダイレクトされ、価格を失います。住所を入力すると、確認ページにリダイレクトされ、価格を請求できます。

これはphpで作成し、カウンターはjavascriptです。time = 0 の場合、javascript はリダイレクトを行います。

ユーザーが確認ページまたは遅いページに移動するように制御するにはどうすればよいですか。ユーザーがページを離れても、JavaScriptのカウントダウンが実際にゼロにカウントされることをどのように確認できるか疑問に思っています。

どうもありがとう

4

4 に答える 4

4

確かではありません - ユーザーは JavaScript を簡単に変更して制限時間を増やしたり、タイマーを完全に無効にしたりすることができます。

制限時間はサーバーで検証する必要があります。時間制限が開始されると、サーバーはデータベースに行を保存し、それがどのユーザーであるか、および時間制限がいつ開始されたかを保存することをお勧めします。ユーザーが送信すると、サーバーはデータベースをチェックして、経過した時間を確認する必要があります。

また、アドレスを 60 秒で入力するのはかなり厳しいと思いますが、それはあなたの判断です。

于 2010-11-10T08:34:48.090 に答える
0

このジョブで JavaScript だけを信頼しないようにしてください。php を使用して、ユーザーがデータを入力するフォームを取得したときに、セッションまたはデータベースに時間を書き込みます。この開始時間と終了時間の違いを (php で) チェックしてください。ユーザーがフォームをサーバーに送信し、diff<=1min の場合は確認を表示するか、diff>1min の場合は申し訳ありませんを表示する時間

于 2010-11-10T08:40:08.640 に答える
0

これを行うには、ユーザー インターフェイスに JavaScript を使用し、ユーザーがフィールドを離れると、php スクリプトへの ajax 呼び出しを実行し、フィールドに入力したばかりのデータを保存します。実際のカウントはphpで作成されるため、ユーザーが最終データを送信するときに、phpで時間切れかどうかも確認する必要があります。

これはあなたの問題の良い解決策だと思います。

于 2010-11-10T08:37:42.907 に答える
0

これを Javascript で行うと、誰でもスクリプトを読み取って賞品ページの場所を見つけることができます。

代わりに、microtime()を使用して PHP でタイマーを実行します。「You Win」ページが表示されたら開始できます。バックグラウンドで実行され、ユーザーの操作には依存しません。

于 2010-11-10T08:38:32.973 に答える