複数分岐の際のエラー
解決したいこと
ここに解決したい内容を記載してください。
例)
メモとTodoがセットになったようなWebアプリをテキストページからつくっています。
条件分岐をしてユーザーに登録してもらう(仮定)の段階でエラーが発生してしまいます。
恐らく、ifの使い方が違うのかもしれません。
ToDoの内容を登録、メモの内容の登録どちらをしようとしてもエラーが出てしまいます。
解決方法を教えて下さい。
発生している問題・エラー
出ているエラーメッセージを入力
[21-Feb-2021 16:38:41 Asia/Tokyo] PHP Notice: Undefined variable: todoListChoice in /var/www/html/memo-todo.php on line 72
Notice: Undefined variable: todoListChoice in /var/www/html/memo-todo.php on line 72
[21-Feb-2021 16:38:41 Asia/Tokyo] PHP Notice: Undefined variable: todoListChoice in /var/www/html/memo-todo.php on line 72
Notice: Undefined variable: todoListChoice in /var/www/html/memo-todo.php on line 72
[21-Feb-2021 16:38:41 Asia/Tokyo] PHP Notice: Undefined variable: todoListChoice in /var/www/html/memo-todo.php on line 80
Notice: Undefined variable: todoListChoice in /var/www/html/memo-todo.php on line 80
[21-Feb-2021 16:38:41 Asia/Tokyo] PHP Notice: Undefined variable: todoListChoice in /var/www/html/memo-todo.php on line 80
Notice: Undefined variable: todoListChoice in /var/www/html/memo-todo.php on line 80
[21-Feb-2021 16:38:41 Asia/Tokyo] PHP Notice: Undefined variable: todoListChoice in /var/www/html/memo-todo.php on line 87
Notice: Undefined variable: todoListChoice in /var/www/html/memo-todo.php on line 87
[21-Feb-2021 16:38:41 Asia/Tokyo] PHP Notice: Undefined variable: todoListChoice in /var/www/html/memo-todo.php on line 87
Notice: Undefined variable: todoListChoice in /var/www/html/memo-todo.php on line 87
[21-Feb-2021 16:38:41 Asia/Tokyo] PHP Notice: Undefined variable: todoListChoice in /var/www/html/memo-todo.php on line 97
Notice: Undefined variable: todoListChoice in /var/www/html/memo-todo.php on line 97
[21-Feb-2021 16:38:41 Asia/Tokyo] PHP Notice: Undefined variable: todoListChoice in /var/www/html/memo-todo.php on line 97
Notice: Undefined variable: todoListChoice in /var/www/html/memo-todo.php on line 97
[21-Feb-2021 16:38:41 Asia/Tokyo] PHP Notice: Undefined variable: todoListChoice in /var/www/html/memo-todo.php on line 105
Notice: Undefined variable: todoListChoice in /var/www/html/memo-todo.php on line 105
[21-Feb-2021 16:38:41 Asia/Tokyo] PHP Notice: Undefined variable: todoListChoice in /var/www/html/memo-todo.php on line 105
Notice: Undefined variable: todoListChoice in /var/www/html/memo-todo.php on line 105
NameError (uninitialized constant World)
または、問題・エラーが起きている画像をここにドラッグアンドドロップ
該当するソースコード
PHP
<?php
echo '-TOP MENU-' . PHP_EOL;
echo '1. メモを使う' . PHP_EOL;
echo '2. Todoを使う' . PHP_EOL;
echo '9. アプリケーションを終了' . PHP_EOL;
echo '番号を選択してください(1,2,9):';
$topMenuChoice = trim(fgets(STDIN));
//TOPMENUの分岐
if ('1' == $topMenuChoice || '1' == $topMenuChoice) {
echo 'MEMOリスト' . PHP_EOL;
echo '1. メモを登録' . PHP_EOL;
echo '2. メモリストを表示' . PHP_EOL;
echo '3. ToDoリストへ' . PHP_EOL;
echo '4. TOP-MENUへ' . PHP_EOL;
echo '9. アプリケーションを終了' . PHP_EOL;
echo '番号を選択してください(1,2,3,4,9):';
$memoListChoice = trim(fgets(STDIN));
} elseif ('2' === $topMenuChoice || '2' === $topMenuChoice) {
echo 'ToDoリスト' . PHP_EOL;
echo '1. やることを登録' . PHP_EOL;
echo '2. やることリストを表示' . PHP_EOL;
echo '3. MEMOリストへ' . PHP_EOL;
echo '4. TOP-MENUへ' . PHP_EOL;
echo '9. アプリケーションを終了' . PHP_EOL;
echo '番号を選択してください(1,2,3,4,9):';
$todoListChoice = trim(fgets(STDIN));
} elseif ('9' || '9' === $topMenuChoice) {
//アプリケーションを終了
}
//MEMOリストの分岐
if ('1' == $memoListChoice || '1' == $memoListChoice) {
//メモの登録
echo 'MEMOを登録してください。' . PHP_EOL;
echo '1. メモのタイトル:';
$memoTitle = trim(fgets(STDIN));
echo '2. メモの詳細:';
$memoBody = trim(fgets(STDIN));
echo 'メモの登録が完了しました。' . PHP_EOL;
} elseif ('2' == $memoListChoice || '2' == $memoListChoice) {
//メモのリスト表示
echo '登録済みのMEMOを表示します。' . PHP_EOL;
//ここの下に配列使って登録したメモ表示。
echo '1. メモのタイトル:' . PHP_EOL;
echo '2. メモの詳細:' . PHP_EOL;
echo '----------' . PHP_EOL;
} elseif ('3' == $memoListChoice || '3' == $memoListChoice) {
//TODOリストに移動
echo 'ToDoリスト' . PHP_EOL;
echo '1. やることを登録' . PHP_EOL;
echo '2. やることリストを表示' . PHP_EOL;
echo '3. MEMOリストへ' . PHP_EOL;
echo '4. TOP-MENUへ' . PHP_EOL;
echo '9. アプリケーションを終了' . PHP_EOL;
echo '番号を選択してください(1,2,3,4,9):';
$todoListChoice = trim(fgets(STDIN));
} elseif ('4' == $memoListChoice || '4' == $memoListChoice) {
//TOPMENUへ移動
echo '-TOP MENU-' . PHP_EOL;
echo '1. メモを使う' . PHP_EOL;
echo '2. Todoを使う' . PHP_EOL;
echo '9. アプリケーションを終了' . PHP_EOL;
echo '番号を選択してください(1,2,9):';
$topMenuChoice = trim(fgets(STDIN));
} elseif ('9' == $memoListChoice || '9' == $memoListChoice) {
//アプリケーションを終了
}
//TODOリストの分岐
if ('1' == $todoListChoice || '1' == $todoListChoice) {
//TODOの登録
echo 'やることを登録してください。' . PHP_EOL;
echo '1. やることのタイトル:';
$todoTitle = trim(fgets(STDIN));
echo '2. やることの詳細:';
$todoBody = trim(fgets(STDIN));
echo 'メモの登録が完了しました。' . PHP_EOL;
} elseif ('2' == $todoListChoice || '2' == $todoListChoice) {
//TODOのリスト表示
echo '登録済みのやることリストを表示します。' . PHP_EOL;
//ここの下に配列使って登録したTODO表示。
echo '1. やることのタイトル:' . PHP_EOL;
echo '2. やることの詳細:' . PHP_EOL;
echo '----------' . PHP_EOL;
} elseif ('3' == $todoListChoice || '3' == $todoListChoice) {
//MEMOリストに移動
echo 'MEMOリスト' . PHP_EOL;
echo '1. MEMOを登録' . PHP_EOL;
echo '2. MEMOリストを表示' . PHP_EOL;
echo '3. ToDoリストへ' . PHP_EOL;
echo '4. TOP-MENUへ' . PHP_EOL;
echo '9. アプリケーションを終了' . PHP_EOL;
echo '番号を選択してください(1,2,3,4,9):';
$todoListChoice = trim(fgets(STDIN));
} elseif ('4' == $todoListChoice || '4' == $todoListChoice) {
//TOPMENUへ移動
echo '-TOP MENU-' . PHP_EOL;
echo '1. メモを使う' . PHP_EOL;
echo '2. Todoを使う' . PHP_EOL;
echo '9. アプリケーションを終了' . PHP_EOL;
echo '番号を選択してください(1,2,9):';
$topMenuChoice = trim(fgets(STDIN));
} elseif ('9' == $todoListChoice || '9' == $todoListChoice) {
//アプリケーションを終了
}
自分で試したこと
ここに問題・エラーに対して試したことを記載してください。
分岐によって使わないまったく使わないif文が出てきてしまうとエラーになるのが問題かもしれません。