PHPのタグが付いているので、PHPについて説明します。
問題画面、結果画面それぞれにセッション値を変えてセットして、問題画面でセッション値をチェックするようにすれば可能かと思います。
セッションを使えない場合は、CookieかURLクエリを使って似たことができます。ただし、これれらの場合、判断する値はエンドユーザーのブラウザから送られてくるので信用はできません。
絶対に結果画面→問題画面の遷移を阻止したい場合はセッションを使うようにしてください。
■question.php(問題画面)
セッションを新規作成・更新(セッション値 = FALSE
)します。セッション値がTRUE
なら、どこかエラーページなどにリダイレクトするか、エラーメッセージを表示するようにします。
php
1//問題内容を表示する前 or ファイル上部
2session_start();
3
4//結果画面→問題画面の遷移の時
5if (isset($_SESSION['done']) && $_SESSION['done'] === true) {
6 header('Location: エラーページ or 他ページ');
7 //エラーメッセージの場合
8 //echo 'エラーメッセージ';
9 exit();
10}
11
12$_SESSION['done'] = false;
13...
14//問題内容
■result.php(結果画面)
セッション値をTRUE
にセットします。
php
1session_start();
2$_SESSION['done'] = true;
3...
4//結果内容
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。