セッションについて教えてください。
ラジオボタンを使った選択式の小テストのプログラムを作っています。テストのページを複数にしたいのですが、どのようにセッション関数を使えば良いのか分かりません。
下記のプログラムですと、1ページ目に答えた内容が2ページ目で上書きされてしまうようです。
どうぞよろしくお願いいたします。
1~2ページ目(テストのページ)
<?
$QA[]=array(
"Q"=>array("id"=>"q1","text"=>"質問A")
,"A"=>array(
array("key"=>1,"text"=>"回答A-1")
,array("key"=>2,"text"=>"回答A-2")
,array("key"=>3,"text"=>"回答A-3")
,array("key"=>4,"text"=>"回答A-4")
)
);
$QA[]=array(
"Q"=>array("id"=>"q2","text"=>"質問B")
,"A"=>array(
array("key"=>1,"text"=>"回答B-1")
,array("key"=>2,"text"=>"回答B-2")
,array("key"=>3,"text"=>"回答B-3")
,array("key"=>4,"text"=>"回答B-4")
)
);
shuffle($QA);
$q_no=1;
foreach($QA as $arr1){
shuffle($arr1["A"]);
print "問".$q_no." ".$arr1["Q"]["text"]."<br>\n";
foreach($arr1["A"] as $arr2){
$id=$arr1["Q"]["id"]."_".$arr2["key"];
print "<INPUT type=\"radio\" id=\"".$id."\" name=\"".$arr1["Q"]["id"]."\" value=\"".$arr2["key"]."\"><label for=\"".$id."\">".$arr2["text"]."</label><br>\n";
}
if($q_no >= 2){
break;
}
$q_no++;
}
?>
3ページ目(採点ページ)
<?php
$tokuten = 0;
$seikaisuu = 0;
$answer = $_POST["q1"];
if($answer == "1"){
$tokuten = $tokuten+5;
$seikaisuu = +1;
}
$answer = $_POST["q2"];
if($answer == "1"){
$tokuten = $tokuten+5;
$seikaisuu = $seikaisuu+1;
}
$answer = $_POST["q3"];
if($answer == "1"){
$tokuten = $tokuten+5;
$seikaisuu = $seikaisuu+1;
}
$answer = $_POST["q4"];
if($answer == "1"){
$tokuten = $tokuten+5;
$seikaisuu = $seikaisuu+1;
}
print "正解数 " . $seikaisuu . "問";
print "<br>";
print "合計点 " . $tokuten . "点";
?>
補足
有り難う御座います。 私の発想では、応用が効かないですね。 因みに、下記URLのページでも、御指導を賜れませんでしょうか? http://okwave.jp/qa/q7692215.html