PHP 在日志中写入此错误:“注意:使用未定义的常量”。
日志中的错误:
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意味着是一个 字符串 (在这里用作数组键)。PHP 中的字符串必须用引号引起来。在过去的日子里,PHP 在为单个单词字符串使用引号方面很松懈,但这些日子早已一去不复返了。
department
因此,它必须是'department'或"department"。
'department'
"department"
其他错误也是如此。
事实上,它正在寻找名为department, name, email,message等的常量。当它没有找到这样的常量时,PHP(奇怪地)将其解释为字符串(’department’ 等),但会警告你。显然,如果您稍后确实定义了这样的常量,这很容易中断(尽管使用小写常量是不好的风格)。
name
email
message