xampp的未定义常量问题


undefined constant problem with xampp

使用xamp有两个问题

第一个问题

我的代码
if($_REQUEST['foo']){
    echo 'bar';
}

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

第二个问题

我的代码
define( THEME ,'theme/');

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

如何解决这个问题?

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

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

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

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

define接受一个字符串作为第一个参数,只是THEME看起来像一个常量,所以PHP寻找一个;如果找不到,它会返回到字符串"THEME",这就是您想要的。但它是你想要的字符串,你应该首先给出它

First:

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

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

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

$_REQUEST包含$_POST, $_GET和$_COOKIE的所有内容。如果有钉$ _POST["foo"],_COOKIE美元$ _GET["foo"]或["foo"],然后$ _REQUEST("foo")不存在。

第二:

如果你想定义一些东西,总是使用"或",例如:

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