PHP包含文件中未定义的变量错误

时间:2012-11-09 15:57:00

标签: php variables include undefined

  

可能重复:
  Undefined variable problem with PHP function

有人能告诉我为什么我在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专家才能发布问题(因此我不会发布任何问题!)

4 个答案:

答案 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");
}