考え、感じる、Web制作。

Web制作の学習や情報についての記事が中心です。

百人一首クイズ3

百人一首クイズ 最終結果

今回は全問回答を終えた際に表示される画面(result.php)を作る。ここでは全ての出題と回答、正解の是非を一覧表示させる。
f:id:ys_nim_9:20141116044302p:plain

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();
  ?>

これで一通りの処理は書き終えた。今回はここまでとし、次回以降実用品となるように改造する。