有人能告诉我为什么我在PHP包含文件中不断收到未定义的变量错误消息吗?
<?php
$page = 1;
if (isset($_REQUEST['page'])) {
$page = $_REQUEST['page'];
}
function phpRocks() {
require("includes/dostuff.php");
}
if ($search) {
phpRocks();
}
?>
然后在dostuff.php中:
<?php echo $page; ?>
这是我得到的错误:
注意:未定义的变量: /dostuff.php中的页面 在线 61
关闭选民/近距离请求者:不表示任何研究工作?怎么会这样?我还应该添加什么?我被困了半个小时,找不到任何回答这个问题的帖子。我是否需要成为PHP专家才能发布问题(因此我不会发布任何问题!)
答案 0 :(得分:12)
function phpRocks() {
global $page;
require("includes/dostuff.php");
}
答案 1 :(得分:7)
您将文件包含在函数中。因此,所有包含的代码的范围是函数的范围。函数内部不存在变量$page
。传递给:
function phpRocks($page) {
require "includes/dostuff.php";
}
phpRocks($page);
答案 2 :(得分:2)
在你的函数中添加全局变量
function phpRocks() {
global $page;
require("includes/dostuff.php");
}
答案 3 :(得分:1)
您必须将变量声明为全局,如下所示:
function phpRocks() {
global $page; //set variable to global
require("includes/dostuff.php");
}