0

一旦我调用我的错误函数并包含页脚文件,我就会丢失我的变量 $user 。我在页脚中使用 $user 函数来显示一些信息,但是当我转到 var_dump 时,它只是显示为 null。请注意,我使用的是某人创建的数据库框架,因此查询可能看起来很奇怪,但它是 100% 的功能和安全的。

这是在我的 /includes/functions 文件中:

$user_query = $db->query("SELECT * FROM `users` WHERE `id`='$_COOKIE[id]' LIMIT 1");
$user = $db->getArray($user_query);

function error($input){

            echo '<div id="error_box"><h1>Ooops!</h1><br>
             '.$input.'<br /><a href="javascript:history.go(-1)"><b>Back to previous page.</b></a></div>';

   require_once('./layout/footer.php');
   die;

}

我的 /layout/footer.php 文件是:

         if (!empty($user['active'])){

           //info here

         }
         else {

            //info here

            var_dump($user);

         }
4

1 回答 1

0

$user超出范围error()。快速解决方法是将其全局化。所以:

function error($input){
   global $user;
   // ...
}

一般来说,可能值得一读变量范围

于 2013-03-31T15:14:16.347 回答