Если у меня $ var определено в Page1.php и в Page2.php, у меня есть
//Page2.php
include('Page1.php');
echo $var;
По каким причинам он не выводит на экран значение $ var? Файлы находятся в одном каталоге, поэтому пути не должны быть проблемой. Я проверил файл php.ini, и у меня ничего не выскакивает. Есть идеи?
Откуда поступает вызов включения в Page2? Как объявляется var?
Стив, да, я проверил, что в $ var есть контент. Паоло, $ var объявляется на странице 1. $ var = "привет";
Было бы полезно увидеть и Page1.php.






Возможные причины:
$var действительно такой, каким вы его ожидаете. Повторите его в Page1.php для подтверждения. (это также проверяет включение правильного файла)$var.Я только что протестировал:
page1.php:
<?php
$foo = "bar"
?>
page2.php:
<?php
include('page1.php');
echo $foo;
?>
Это работает.
Возможно, вы захотите проверить пути к своим файлам. Также var_dump () удобна для проверки вывода переменной.
Если бы это была проблема с путём, вы бы увидели предупреждение в своём журнале ошибок. Вы также можете изменить на require вместо include, и это станет очевидным.
echo getcwd();
Вы также можете распечатать свой рабочий каталог, чтобы выяснить, что не так.
$ Var создается в функции? Если да, убедитесь, что у вас есть
global $var;
перед первым назначением в этой функции.
Убедитесь, что вы не отключили весь Отчет об ошибках. Возможно, включение идет не так, и поэтому переменная никогда не включается.
... Я полагаю, вы проверили, что в $ var действительно есть содержимое? Я не могу сосчитать, сколько раз я случайно имел пробел или "" в строке и пытался его распечатать.