前提・実現したいこと
回答の正誤判定を行うページを作ろうと考えています。
プログラムは以下のサイトを参考に作っており、このサイトに記載されているものは問題なく動きました。
https://www.kodomonokagaku.com/miraiscience/support/index.html
問題を解き終わり、最後のページ(リンク先でいうところのrecord.html)で各問題の採点結果を表示させるものを作成したいと考えています。
そして、その結果をMySQLを使ってデータベースに蓄積していくものを作りたいです。
皆様のお力添えをよろしくお願いいたします。
発生している問題・エラーメッセージ
どの選択肢を選んだかにかかわらず、関数incorrect3()が呼び出され、$_SESSION["a"]=3となってしまいます。
該当のソースコード
php
1<?php 2session_start(); 3?> 4 5<script> 6 function correct(){ 7 <?php 8 $_SESSION["a"]=0; 9 ?> 10 location.href = "quiz2.php"; 11 } 12 13 function incorrect1(){ 14 <?php 15 $_SESSION["a"]=1; 16 ?> 17 location.href = "quiz2.php"; 18 19 } 20 function incorrect2(){ 21 <?php 22 $_SESSION["a"]=2; 23 ?> 24 location.href = "quiz2.php"; 25 } 26 function incorrect3(){ 27 <?php 28 $_SESSION["a"]=3; 29 ?> 30 location.href = "quiz2.php"; 31 } 32</script> 33 34<html> 35<body> 36<h1>第1問</h1> 37<p>問題文</p> 38<button onClick="incorrect1();">回答1</button> 39<button onClick="incorrect2();">回答2</button> 40<button onClick="incorrect3();">回答3</button> 41<button onClick="correct();">回答4</button> 42</body></html>
試したこと
incorrect3()で代入する値を4に変更すると、$_SESSION["a"]=4となる。
関数定義の順を変えてみると、どの回答を選んでも最後に定義された関数が呼び出されることが判明。
補足情報(FW/ツールのバージョンなど)
PHPのバージョン 7.1.x
レンタルサーバーxfree上で動作
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/09/19 07:37
2021/09/19 08:35
2021/09/21 14:09