📔

エラーノート:Undefined variable

2022/09/12に公開

こんにちは、nekoです!

今日はレッスン内で起こったエラーについて原因と解決法についてアウトプットしていきます。

やりたいこと

変数numが1なら登録、変数numが2なら表示という条件分岐がある。
登録した内容を表示したい。

<?php

(前略)

if ($num === '1') {
    echo '読書ログを登録してください' . PHP_EOL;
    echo '書籍名:';
    $title = trim(fgets(STDIN));

    echo '著者名:';
    $author = trim(fgets(STDIN));

    echo '読書状況(未読,読んでる,読了):';
    $status = trim(fgets(STDIN));

    echo '評価(5点満点の整数):';
    $score = trim(fgets(STDIN));

    echo '感想:';
    $summary = trim(fgets(STDIN));

    echo '登録が完了しました' . PHP_EOL . PHP_EOL;
} elseif ($num === '2') {
    echo '読書ログを表示します' . PHP_EOL;
    echo '書籍名:' . $title . PHP_EOL;
    echo '著者名:' . $author . PHP_EOL;
    echo '読書状況:' . $status . PHP_EOL;
    echo '評価:' . $score . PHP_EOL;
    echo '感想:' . $summary . PHP_EOL;
} elseif ($num === '9') {
    // アプリケーションを終了する
}

エラー内容

PHP Notice: Undefined variable: title in ...

調べたこと

「Undefined variable php」で検索した。
https://itrice580.com/2021/05/15/error/

原因

変数を定義していなかった。

解決策

変数を定義する

$title = '';
$author = '';
$status = '';
$score = '';
$summary = '';

if ($num === '1') {
    echo '読書ログを登録してください' . PHP_EOL;
    
(後略)

参考資料

https://itrice580.com/2021/05/15/error/
https://www.youtube.com/watch?v=nbNj4d8_cMU
プログラミングメモのとり方について参考にさせていただきました。

Discussion