@FVest

Почему не передается значение из переменной?

Всем привет, подскажите пожалуйста в чем вообще проблема, видимо я чего-то не понимаю. Я хочу получить идентификатор статьи, который находится в файле ниже, назовем его review и передать его в файл header.
В корневом файле index.php я вывожу
$opt = [];
$opt['page_id'] = 0;

$content = ob_get_contents();
$content = str_replace($PAGE_ID,$opt['page_id'],$content);
echo $content;

в файле review я получаю передаваемый идентификатор так: $opt['page_id'] = $art_id;
теперь пытаюсь его вывести в файле header следующим способом:
$PAGE_ID = 0;
echo 'Страница '.$PAGE_ID.'; ';

по итогу я получаю идентификатор страницы и он выводится нормально, но когда я пробую его подставить в запрос или "if", то он вообще никак не отображается, вот пример из кода и скриншот страницы с сайта, результат всегда один. подскажите почему так?
<?php
	$PAGE_ID = 0;
	echo 'Страница '.$PAGE_ID.'; ';
	
	if($PAGE_ID == 19){
	echo 'Ид страницы == 19';
	}else echo 'Ид страницы != 19';
?>

64c2300a7c1e6364298348.jpeg
64c23015b19d1781992928.jpeg
  • Вопрос задан
  • 66 просмотров
Пригласить эксперта
Ответы на вопрос 1
gogowq
@gogowq
Ozh domosh acha ozh
Вы должны использовать одну переменную для хранения значения и передавать ее между файлами, чтобы убедиться, что она актуальна на всех этапах выполнения кода.

Чтобы исправить ситуацию, следует убедиться, что переменная $opt['page_id'] передается из файла review обратно в index.php, а затем используется в файле header.

index.php
<?php
// Установка начального значения $PAGE_ID
$PAGE_ID = 0;

// Включение файла header и передача значения $PAGE_ID
include 'header.php';
?>


review
<?php
// Получение идентификатора статьи
$art_id = 123; // 
$opt['page_id'] = $art_id;
?>


header.php
<?php
// Получение значения $PAGE_ID из корневого файла
echo 'Страница ' . $PAGE_ID . '; ';

// Использование значения $PAGE_ID в условии
if ($PAGE_ID == 19) {
  echo 'Ид страницы == 19';
} else {
  echo 'Ид страницы != 19';
}
?>
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы