質問: $userID; print $_SESSION['gender'] =$usergender; print ''; print '投稿日時:'; echo date( "Y年m月d日 H時i分s秒" ); print ''; print 'MIMEタイプ:'; print ''. htmlspecialchars($row['mime']) . ''; print ''; print 'コメント:'; print ''. htmlspecialchars($row['comment']) . ''; print''; print ''; print ''; } print '$_POSTの内容確認'; echo''; print_r($_POST); echo''; print '$_FILESの内容確認'; echo''; __** print_r($_FILES); **__ echo''; print '$_SESSIONの内容確認'; echo''; print_r($_SESSION); echo''; ?> ``` ### 補足情報(言語/FW/ツール等のバージョンなど) 申し訳ありません、エラーが出た部分の列番号を記述し忘れていました。 107:if($_FILES && $_POST){ // 送信ボタンが押された($_FILESと$_POSTが送られた)場合 199:print_r($_FILES); PHPのバージョンは7.1.1です。
回答: ``` if($_FILES && $_POST){ ``` おそらくこの部分のエラーですね。 アップロードされないときは$_FILESは定義されていないはずです。 javascriptではこういう構文で存在していなくても問題なく処理できるのですが、phpでは変数が定義されていないとエラーになります。 変数が定義されているかどうかの確認なので、 ``` if (isset($_FILES) && isset($_POST)){ ``` としてください。