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

Zoo*_*der 15 php variables undefined include

可能重复:
PHP函数的未定义变量问题

有人能告诉我为什么我在PHP包含文件中不断收到未定义的变量错误消息吗?

<?php

$page = 1;

if (isset($_REQUEST['page'])) {
  $page = $_REQUEST['page'];
}

function phpRocks() {
  require("includes/dostuff.php");
}

if ($search) {
  phpRocks();
}

?>
Run Code Online (Sandbox Code Playgroud)

然后在dostuff.php中:

<?php echo $page; ?>
Run Code Online (Sandbox Code Playgroud)

这是我得到的错误:


注意:未定义的变量:第61 行的/dostuff.php中的页面

关闭选民/近距离请求者:没有展示任何研究工作?怎么会这样?我还应该添加什么?我被困了半个小时,找不到任何回答这个问题的帖子.我是否需要成为PHP专家才能发布问题(因此我不会发布任何问题!)??

Apo*_*ica 13

马里奥得到了它.做这个:

function phpRocks() {
    global $page;

    require("includes/dostuff.php");
}
Run Code Online (Sandbox Code Playgroud)

  • 这正是我所需要的.谢谢! (2认同)

dec*_*eze 7

您将文件包含在函数中.因此,所有包含的代码的范围是函数的范围.变量$page在函数内部不存在.传递给:

function phpRocks($page) {
    require "includes/dostuff.php";
}

phpRocks($page);
Run Code Online (Sandbox Code Playgroud)

  • 为什么我是唯一一个支持注射而非"全球"意大利面? (5认同)