百人一首クイズ3
百人一首クイズ 最終結果
今回は全問回答を終えた際に表示される画面(result.php)を作る。ここでは全ての出題と回答、正解の是非を一覧表示させる。
init.php読込~リダイレクト
リダイレクト条件は$_SESSION['monme']が6でない場合とした。5問目のanswer.phpが表示された時点で$_SESSION['monme']の値を+1させ、6にするように書き換える。まずはresult.phpのコード。
require_once dirname(__FILE__).'/init.php'; session_start(); session_regenerate_id(true); if($_SESSION['monme']!==6){ header(ROOT_URL.'index.php'); }
このコードを有効化するため、answer.phpを書き換える。
<p><a href='index.php'>次の問題へ</a></p>
上記の行を下記に書き換え。
<?php if($monme===5){ echo"<p><a href='result.php'>結果ページへ</a></p>"; }else{ echo"<p><a href='index.php'>次の問題へ</a></p>"; } $_SESSION['monme']++; ?> <p>現在、<?php echo$monme;?>問中<?php echo$ok_count;?>問正解しています</p>
ブラウザ表示
テーブルを用い、ブラウザ上で結果を表示させる。最後にセッション破棄を処理する。
<body> <div id="container"> <h1>百人一首 結果</h1> <h2 class="black">お疲れ様でした!</h2> <p></p> <table class="grayback"> <tr><th id="num">No.</th><th>設問</th><th>下の句</th><th>結果</th></tr> <?php for($i=1;$i<=5;$i++){ $rireki['kami'][$i]=$_SESSION['rireki']['kami'][$i]; $rireki['shimo'][$i]=$_SESSION['rireki']['shimo'][$i]; $rireki['kekka'][$i]=$_SESSION['rireki']['kekka'][$i]; echo"<tr><td>".$i."</td>"; echo"<td class='uta'>".$rireki['kami'][$i]."</td>"; echo"<td class='uta'>".$rireki['shimo'][$i]."</td>"; echo"<td>".$rireki['kekka'][$i]."</td></tr>"; } ?> </table> <p><?php if($_SESSION['seikai']['ok_count']===5){ echo"全問正解 おめでとう!"; }elseif($_SESSION['seikai']['ok_count']===4){ echo"4問正解 惜しかった!"; }elseif($_SESSION['seikai']['ok_count']===3){ echo"3問正解 半分以上取れたね!"; }elseif($_SESSION['seikai']['ok_count']===2){ echo"2問正解 調子悪かったね!"; }elseif($_SESSION['seikai']['ok_count']===1){ echo"1問正解 弱点が見えてきたね!"; }elseif($_SESSION['seikai']['ok_count']===0){ echo"正解0! 残念だったね"; } ?></p> <p><a href='index.php'>戻る</a></p> </div> </body> </html> <?php $_SESSION=array(); session_destroy(); ?>
これで一通りの処理は書き終えた。今回はここまでとし、次回以降実用品となるように改造する。