Хорошо, может быть, мой мозг просто отключен, но я не могу заставить это работать.
Вот полный код:
page1.php:
<?php $something = "hello"; include "Page2.php"; ?>
page2.php:
<?php echo $something; ?>
Желаемый вывод (при навигации по странице 1.php):
hello
Реальный выход пуст. Я попытался поставить глобальное ключевое слово везде, и ничего не происходит. Я что-то упускаю?
Я не могу реплицировать эту ошибку, просто попробовал это на своем локальном хосте и скопировал и вставил ваш код здесь. Я подозреваю, что у вас какая-то синтаксическая ошибка.
Включите отчеты об ошибках и выясните, есть ли у вас какие-либо ошибки.
Я знаю, что это поздний ответ, но я пытаюсь сделать что-то подобное. Прежде всего, когда вы повторяете что-то, вы все равно должны его вставить. Php распознает его как переменную, пока вы ставите $.
Во-вторых, вы включите page2.php в стр. 1. Фантастично, но page2 ничего не признает. Теперь, если вы сделаете это другим способом, объявите $ something на странице2, а затем вызовите его со страницы 1 после его включения, он будет запущен.
Для изменения переменной потребуется другое …
Я думаю, что выход идет в page2.php. Я прав? это потому, что вы эхом отбрасываете переменную в page2.php, вам нужно изменить следующие данные, чтобы заставить ее работать. page1.php
<?php include("page2.php"); echo $something; ?>
в<?php include("page2.php"); echo $something; ?>
page2.php
<?php $something="Hello"; ?>
-<?php $something="Hello"; ?>
Если вы будете использовать его и перемещаться по странице 1.php, то выход будет Hello
У меня была аналогичная проблема, выполняемая на локальном (Windows), где значения массива не следовали за включенными в один и тот же процесс.
После переключения пути include из http://localhost/www/example.php
в C:/www/example.php
, он отлично работает.