1. ホーム
  2. php

[解決済み] PHPのエラーメッセージ「Notice: Use of undefined constant "というPHPのエラーメッセージはどういう意味ですか?

2022-02-09 12:06:42

質問

PHPがログにこのようなエラーを書き込んでいます: "Notice。未定義定数の使用".

ログにエラーが表示されます。

PHP Notice:  Use of undefined constant department - assumed 'department' (line 5)
PHP Notice:  Use of undefined constant name - assumed 'name' (line 6)
PHP Notice:  Use of undefined constant email - assumed 'email' (line 7)
PHP Notice:  Use of undefined constant message - assumed 'message' (line 8)

関連するコードの行。

$department = mysql_real_escape_string($_POST[department]);
$name = mysql_real_escape_string($_POST[name]);
$email = mysql_real_escape_string($_POST[email]);
$message = mysql_real_escape_string($_POST[message]);

その意味と、なぜ私がそれを見ているのか?

解決方法は?

配列のキーを引用する必要があります。

$department = mysql_real_escape_string($_POST['department']);
$name = mysql_real_escape_string($_POST['name']);
$email = mysql_real_escape_string($_POST['email']);
$message = mysql_real_escape_string($_POST['message']);

という定数を探していたのですが、そのままでは department , name , email , message などです。そのような定数が見つからない場合、PHP は (奇妙なことに) それを文字列として解釈します ('department' など)。 明らかに、後でそのような定数を定義した場合、これは簡単に壊れてしまいます (小文字の定数を持つことは悪いスタイルですが)。