1

我包括这个文件来收集它的一个变量。文件路径是正确的,我没有得到文件包含错误。但是当我尝试在该文件中打印一个变量时,它会给出未定义的变量错误。以下是代码。

include_once($path . "folder/file.php");
 echo($code);

有一个php类。类里面有一个登录功能。在该函数中,我包含另一个文件,假设它是 funtions.php。

functions.php 中有上面的代码。

在functions.php 文件中,我包含了这个文件,其中包含我正在寻找的变量(假设它是test.php)。

test.php 看起来像这样(在 php 标签内)

     $code="something";
     $another_variable="something else";

所以现在就像我之前所说的,当我在functions.php中包含它并打印$code时它为什么会给出一个未定义的错误?

完整代码

 function log($user, $pass) {

     global $config;
    $this->get_available_accounts();
    if (isset($this->Users_obj[$user])) {
        if ($this->Users_obj[$user]->userName == $user && $this->Users_obj[$user]->passWord == $pass) {
            delete_cache_full();
            $_SESSION['username'] = $user;
            $_SESSION['log'] = true;
            $_SESSION['usergroup']=$this->Users_obj[$user]->level;
            $this->set_permission_session($_SESSION['usergroup']);
            include_once $config->path . 'config.php';
            $newUpdate2=showUpdates2();
            if(!empty($newUpdate2)){
                $_SESSION['updateremindlater']=$newUpdate2['date'];
                }
            //file  
            include_once $config->path . 'functions.php';
            $func = new UserFuncs();
            $func->validate();
            include_once $config->path  . 'view/ViewDashboard.php';
            return true;
        }
    }

这就是包含此文件的功能。include_once $config->$path . 'functions.php';包括functions.php文件functions.php看起来像这样

   include_once($path. "folder/config.php");
   echo($code);

和 config.php 看起来像

  $code = "ERGERW2342HV3453WERWEER";
  $host_name = "SERV345WERFDGDDFGDGF";
  $return_code = "DFGDFSDGFS";
  $vurl = "YUIYUJHGJ";
  $next_val ="AWERFDFVDV";
  $val_exp = "NMGHJGJGH";

非常感谢帮助!

4

2 回答 2

3

只是猜测您之前include在其他地方使用过 config.php,并且由于include_once. 因此,变量不会在您第二次包含它的范围内创建。

于 2012-04-05T08:52:17.423 回答
2

这可能是变量范围的问题,您尝试从某个特定对象无法访问该变量(例如,函数)访问该变量(您确实提到您将文件包含在一个类中)。我同意 deceze 和 hakre,如果没有看到您的代码,很难回答这个问题。

于 2012-04-05T08:01:32.590 回答