PHP错误信息“注意:使用undefined常量”是什么意思?

问题:

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 = 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']);

因为它正在寻找称为departmentnameemailmessage等的常量。当它找不到这样一个常量时,PHP(奇怪)将其解释为一个字符串(’department’等等)。显然,如果你以后定义了这样一个常量,这很容易中断(虽然小写常量是不好的风格)。

 
 
Code问答: http://codewenda.com/topics/php/
Stackoverflow: What does the PHP error message “Notice: Use of undefined constant” mean?

*转载请注明本文链接以及stackoverflow的英文链接

发表评论

电子邮件地址不会被公开。 必填项已用*标注

5 + 1 =