xamp有两个问题
第一个问题
我的代码
if($_REQUEST['foo']){
echo 'bar';
}
错误:注意:第5行的C:\ xampp \ htdocs \ test_file.php中的未定义索引:foo
第二个问题
我的代码
define( THEME ,'theme/');
错误:注意:使用未定义的常量主题 - 假设'主题'
我如何解决这个问题?
问题解决了: 我认为问题出在xampp上,因为文件在apache上正常工作但很抱歉这是我的错误,谢谢大家
答案 0 :(得分:4)
if (key_exists('foo', $_REQUEST) && $_REQUEST['foo']){
...
}
访问不存在的数组键会发出通知(isset
或empty
等特殊构造除外;顺便说一下,您可以将条件重写为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/" );