- 締切済み
PHPで
携帯用のページでクイズを出題し、正解したらAページ、不正解ならばBページというものを作っているんですが、普通にページを作っただけでは携帯の戻るボタンや、元のページのリンクから何度も挑戦できてしまいます。 一度クイズに挑戦したら二回目はできないようにする方法はないでしょうか?
- みんなの回答 (2)
- 専門家の回答
みんなの回答
- hojiyoshi
- ベストアンサー率61% (8/13)
回答No.2
昔、似たような問題にあたりました。 フォーム入力→確認画面表示→登録画面を表示→戻るボタンを押すと再登録ができました。 対策について、記載させていただきます。 ・サーバに状態を保存しておく方法 だれが、どこまで回答したかを保存しておきます。 1.「だれが」を特定する仕組みが必要となります。 ログイン情報や携帯だと端末の固有番号などでOKです。 2.回答時には、正解の有無をDBなどに保存します。 例えば、ユーザAは、クイズBに既に正解済みなどステータスを保存させておきます。 3.ページを再表示時には、回答状況をDBに問い合わせます。 DBへの問い合わせ結果にて、既に回答済みだったら、違うページを表示させればOKです。 ここで、注意が必要なのは、ブラウザ内にページをキャッシュされているケースです。 再表示されるページ自体がブラウザに保存されているので、回答状況の問い合わせがされません。 →回答時も同じく回答状況の問い合わせ処理を行うことで、回避できます。
- saintandre
- ベストアンサー率31% (194/607)
回答No.1
あまり厳密な方法ではありませんがセッションで現在何問目なのかを記録しておいて 例えば現在三問目であるのに二問目の回答が送信されてきたらエラーを表示する というのはどうででしょうか。