php
1if (isset($_POST['now'])){ 2$now += $_POST['now']; //hiddenで送られた正解を受け取る 3$tensuu = $_POST['tensuu']; //hiddenで送られた点数を受け取る 4$score = $_POST['score']; //hiddenで送られた正解を受け取る 5$count = $_POST['count']; //countを受け取る 6$question = $_POST['question']; //選んだ選択肢を受け取る 7$log1 = $_POST['log1']; //log1を受け取る 8 9//結果の判定 10if($question1 == $log1[$count][0]){ 11$score += $log1[$count][8]; 12$result = "正解!答えは".$log1[$count][0]."です。"."説明:".$log1[$count][7]."今の合計点数は".$score."点"; 13}else{ 14$result = "不正解・・・。答えは".$log1[$count][0]."です。"."説明:".$log1[$count][7]."今の合計点数は".$score."点"; 15} 16} 17 18 19$count++; 20 21$title = $log1[$count][0]; 22 23$question = array($log1[$count][1],$log1[$count][2],$log1[$count][3],$log1[$count][4],$log1[$count][5],$log1[$count][6]); //6択の選択肢を設定 24 25$answer = $question[0]; //正解の問題を設定 26 27shuffle($question); //配列の中身をシャッフル 28?> 29 30<!doctype html> 31<html> 32<head> 33<meta charset="utf-8"> 34<title>簡易クイズプログラム</title> 35</head> 36<body> 37 38<h2><?php echo $title ?></h2> 39<form method="POST" action="quiz.php"> 40 <?php foreach($question as $value){ ?> 41 <input type="radio" name="question" value="<?php echo $value; ?>" /> <?php echo $value; ?><br> 42 <?php } ?> 43 <input type="hidden" name="now" value="<?php echo $now ?>"> 44 <input type="hidden" name="score" value="<?php echo $score ?>"> 45 <input type="hidden" name="count" value="<?php echo $count ?>"> 46 <input type="hidden" name="log1[][]" value="<?php echo $log1 ?>"> 47 <input type="submit" value="回答する"> 48</form>
log1[0],[1],[2],・・・には、9つの要素が入っています
(log1[0][0],log1[0][1]・・・log1[0][8]
これらを、POSTしながら、1回postするごとに上位配列を1増やし(log1[0]→log1[1])ていきたいため、
log1をPOSTしつつ、1回ごとに増えていく$countという変数もpostして、これらを
post後くっつければ良いという考えに至りました。
しかし、なぜかこのコードでは、初回は正しく動くものの、1回POSTすると、
全配列データが失われています、つまりまともにpost、受け取りできていないのですが、
どこがおかしいのでしょう・・・。
回答1件
あなたの回答
tips
プレビュー