実現したいこと
4択クイズの解答の表示を実装しています。
発生している問題・分からないこと
上記のクイズの解答を表示するサイトを実装しています。
GETメソッドで入力した値の正誤判定をしているのですが、受け取る値が正しくなくエラー文が以下のように表示されてしまいます。
エラーメッセージ
error
1Notice: Undefined variable: GET in /Applications/MAMP/htdocs/flags.php on line 8 2 3Notice: Trying to access array offset on value of type null in /Applications/MAMP/htdocs/flags.php on line 8 4 5Notice: Undefined variable: GET in /Applications/MAMP/htdocs/flags.php on line 9 6 7Notice: Trying to access array offset on value of type null in /Applications/MAMP/htdocs/flags.php on line 9 8 9Notice: Undefined variable: GET in /Applications/MAMP/htdocs/flags.php on line 28 10 11Notice: Trying to access array offset on value of type null in /Applications/MAMP/htdocs/flags.php on line 28
該当のソースコード
index.php
1<!DOCTYPE html> 2<html> 3<head> 4 <meta charset='utf-8'> 5 <title>Lesson Sample - GETメソッド</title> 6 <link rel='stylesheet' type='text/css' href='style.css'> 7 <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script> 8</head> 9 10<body> 11 <div class='container'> 12 <h2>エラー読んでますか?4択クイズ</h2> 13 14 <h3>"Syntax error"とは何が原因のエラーでしょうか?</h3> 15 16 <a href='flags.php? ans=1'><button>変数が未定義</button></a><br> 17 <a href='flags.php? ans=2'><button>構文が間違っている</button></a><br> 18 <a href='flags.php? ans=3'><button>変数の型が異なる</button></a><br> 19 <a href='flags.php? ans=4'><button>関数の引数が設定と異なる</button></a> 20 21 </div> 22 23</body>
flags.php
1<?php 2 3if(!isset($_GET['ans'])) { 4 header('Location:index.php'); 5} 6 7//三項演算子を使用しています 8$result = $GET['ans'] == 2 ? '正解' : '不正解'; 9$class = $GET['ans'] == 2 ? 'correct' : 'wrong'; 10 11?> 12 13<!DOCTYPE html> 14<html> 15<head> 16 <meta charset='utf-8'> 17 <title>Lesson Sample - GETメソッド</title> 18 <link rel='stylesheet' type='text/css' href='style.css'> 19 <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script> 20</head> 21 22<body> 23 <div class='container'> 24 <h2>答え合わせ</h2> 25 26 <h3><span class='<?=$class;?>'><?=$result ?></span></h3> 27 28 <?php if($GET['ans'] == 1): ?> 29 <p> 30 変数の未定義時のエラーは"Undifined variable error"です。</br> 31 代入していない変数を使用したりすると発生します。<br> 32 使用している変数を確認してみましょう。 33 </p> 34 35 <?php elseif($_GET['ans'] == 2): ?> 36 <p> 37 Syntax Errorが出た時は、記述している構文にエラーがあります。</br> 38 記述内容や関数の使い方が間違っていないか、セミコロン(;)のつけ忘れがないか、等確認しましょう。 39 </p> 40 41 <?php elseif($_GET['ans'] == 3): ?> 42 <p> 43 変数の型(文字列/整数/配列etc...)が間違っている場合に出るエラーは"Uncaught TypeError"です。<br> 44 文字列を割り算しようとする等、その型において想定していない動作をさせようとすると発生します。<br> 45 扱っている変数の型が何なのか改めて確認してみましょう。 46 </p> 47 48 <?php elseif($_GET['ans'] == 4): ?> 49 <p> 50 引数の数があっていない場合に出るエラーは"Missing arguments (n) for (関数名)"です。<br> 51 function example($a, $b)という関数に$aしか与えなかった場合、2個目の引数がないというエラーを返します。<br> 52 そのため、上記の例で言うと"Missing arguments 2 for example"というエラーがでます。 53 </p> 54 <?php endif ?> 55 56 </div> 57 58</body>
試したこと・調べたこと
- teratailやGoogle等で検索した
- ソースコードを自分なりに変更した
- 知人に聞いた
- その他
上記の詳細・結果
同様の質問がなかったので質問しました!
補足
特になし

回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2024/12/27 09:20