2012-02-02 7 views
0

По некоторым причинам файл я в том числе в мой PHP скрипт не признает каких-либо переменных я никогда определенных до этого момента:переменные являются недействительными в включаемых файлов

Главный файл:

var_dump($recipients); // produces proper output 
require DOCROOT. "Mail/add_message.php"; 

Включенный файл:

<? 
var_dump($recipients); // returns NULL 
exit(); 

Каковы возможные причины этого случая?

+3

Глобальные переменные являются злыми. Я бы предложил повторно организовать ваш код (и потенциально использовать ООП с автозагрузкой класса), чтобы предотвратить включение ада. – Kenaniah

+0

Попробуйте выполнить 'var_dump (get_defined_vars()) в вашем втором файле и посмотреть, что он показывает. – jprofitt

ответ

0
  1. - использовать $ _GET include(http://URL.com?var=$var)

  2. - если вы используете Symfony - include_component()

0

Я просто взял сценарий во втором файле, сгруппированных как функция (требуемые переменные являются параметрами функции) и поместите ее в мою библиотеку функций. Теперь он отлично работает!

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