У меня есть ситуация, когда я обрабатываю форму, если в переменной сеанса есть проблемы и сообщение об ошибке, а после перенаправления заголовка выводится эхо. Чтобы очистить сообщение об ошибке сеанса, я затем установил его на нуль; однако, выполнение этого заставляет это не повторяться вообще. Мой код довольно длинный, но вот пример, демонстрирующий поведение.
Весь файл:
<?php
session_start();
if($_REQUEST['set_session'] == 'true')
{
$_SESSION['error_message'] = '<p>Should be this.</p>';
header('Location: session_test.php');
}
?>
<html>
<head>
</head>
<body>
<?
echo $_SESSION['error_message'];
$_SESSION['error_message'] = '<p>Should not be this.</p>';
?>
<p><a href="session_test.php?set_session=true">Test</a></p>
</body>
Может кто-нибудь объяснить, почему я получаю «Не должно быть этого», а не «Должно быть это»? И как я могу получить желаемый результат.