包含文件中的变量未定义的变量错误
我包含此文件以收集其变量之一。文件路径是正确的,我没有得到文件包含错误。但是当我尝试在该文件内打印一个变量时,它会给出未定义的变量错误。以下是代码。包含文件中的变量未定义的变量错误
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和打印$代码之前为什么它提供了一个未定义的错误?
的完整代码
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;
}
}
这就是功能的IM含有该文件之中。 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";
帮助非常感谢!
只是猜测你已经在include
d config.php之前的其他地方,并且它不会再被包含,因为include_once
。因此,变量不会在第二次包含它的范围中创建。
thanksssss哥们!我救了!我犯了多么愚蠢的错误。 – guitarlass 2012-04-05 09:24:59
这可能是一个变量作用域的问题,你试图从某个地方访问变量(例如函数),而这个变量对于那个特定的对象是不可用的(你确实提到过你将该文件包含在一个类中) 。 我同意deceze和hakre,在看不到你的代码的情况下很难回答这个问题。
请检查编辑的文章。看到包含的代码。 – guitarlass 2012-04-05 08:29:06
您必须显示您的*完整*代码才能负责。无论是你的范围是错误的,还是你没有设置变量或其他正在做的事情,我们无法从你展示的代码段中确定。 – deceze 2012-04-05 07:34:10
我认为* deceze *是正确的,因为您提供的描述非常难以遵循,并且可能是因为您有一个理解问题,因此不容易专门描述问题。所以最好的事情是你分享整个代码。或者绘制一幅图像,这可能会更好:可视化如何完成包含。另外'include'和'include_once'做不同的事情,所以要注意差异。 – hakre 2012-04-05 07:46:09
请检查我的回复 – guitarlass 2012-04-05 08:22:16