xampp未定义的常量问题

时间:2011-09-05 14:13:05

标签: php

xamp有两个问题

第一个问题

我的代码

if($_REQUEST['foo']){
    echo 'bar';
}

错误:注意:第5行的C:\ xampp \ htdocs \ test_file.php中的未定义索引:foo

第二个问题

我的代码

define( THEME ,'theme/');

错误:注意:使用未定义的常量主题 - 假设'主题'

我如何解决这个问题?

问题解决了: 我认为问题出在xampp上,因为文件在apache上正常工作但很抱歉这是我的错误,谢谢大家

3 个答案:

答案 0 :(得分:4)

if (key_exists('foo', $_REQUEST) && $_REQUEST['foo']){
...
}

访问不存在的数组键会发出通知(issetempty等特殊构造除外;顺便说一下,您可以将条件重写为if (!empty($_REQUEST['foo'])),因为{{如果强制转换为布尔值,则对齐是否将值转换为empty,因此您应首先检查它们。

FALSE

define( "THEME" ,'theme/'); 将一个字符串作为第一个参数,只是define看起来像一个常量,所以PHP找一个;找不到它会恢复到字符串THEME,这就是你想要的。但它是你想要的一个字符串,你应该首先给它。

答案 1 :(得分:0)

首先:

if (!empty($_REQUEST['foo'])){
    echo 'bar';
}

第二

define('THEME', 'theme/');

答案 2 :(得分:0)

请阅读有关使用$ _REQUEST:http://devlog.info/2010/02/04/why-php-request-array-is-dangerous/

的内容

$ _ REQUEST包含来自$ _POST,$ _GET和$ _COOKIE的所有内容。如果有$ _POST ['foo'],$ _GET ['foo']或$ _COOKIE ['foo'],则$ _REQUEST ['foo']不存在。

第二

如果要定义某些内容,请始终使用“”或“”,例如:

define( "THEME" , "/theme/goes/here/" );