2012-04-05 3 views
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 и печать $ код это почему это дает неопределенную ошибку?

Полный код

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; 
     } 
    } 

Thats функции им, включая этот файл в. 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"; 

Помощь высоко ценится!

+5

Вам нужно будет показать свой * полный * код, за который будет отвечать. Любая область видимости неверна, или вы отменяете переменную или что-то еще делается, что мы не можем определить из показанного вами фрагмента. – deceze

+2

Я думаю * deceze * правильно, потому что описание вашего предложения очень сложно, и может быть, у вас есть проблема понимания, которая не позволяет легко описать проблему конкретно. Лучше всего, если бы вы делили весь код. Альтернативно рисуйте изображение, это, вероятно, еще лучше: визуализируйте, как это делается. Также 'include' и' include_once' делают разные вещи, поэтому следите за различиями. – hakre

+0

Пожалуйста, проверьте мой ответ – guitarlass

ответ

3

Просто угадайте, что у вас есть include d config.php где-то еще до этого, и что он не включается снова из-за include_once. Поэтому переменные не создаются в области, в которую вы включаете ее во второй раз.

+0

thanksssss чувак !!! меня спас! какую глупую ошибку я сделал. – guitarlass

2

Это может быть проблемой с областью перемен, где вы пытаетесь получить доступ к переменной где-нибудь (например, к функции), где она недоступна для этого конкретного объекта (вы упоминали, что вы включили файл в класс) , Я согласен с deceze и hakre, очень сложно ответить на этот вопрос, не видя ваш код.

+0

Пожалуйста, проверьте отредактированный пост. чтобы увидеть включенный код. – guitarlass

Смежные вопросы