У меня есть этот код мира, который я не понимаю, почему он не работает, как я ожидаю.unset variable done before unset
<?php
session_start();
if($_SERVER['REQUEST_METHOD'] == "POST") {
$_SESSION['reg'] = "done";
header("Location: " . SELF, true, 302);
}
if((isset($_SESSION['reg']) AND ($_SESSION['reg'] == "done"))) {
unset($_SESSION['reg']);
echo "Done";
}else{
echo "Not done";
}
?>
После POST
перенаправляет и Эхо Not done
, но я бы ожидать, что она будет Эхо Done
. Если я удалю строку с unset, она отлично работает, а echo - Done
.
Это не то поведение, которого я ожидал бы. Какую ошибку я делаю?
Является 'session_start();' действительно загружен? –
@ Fred-ii-, да. Не показывать это в коде – Timo002
Попробуйте ответ Стива. Довольно уверен, что это исправить. –