Top.Mail.Ru
Ответы

В чем ошибка? session_destroy() [function.session-destroy]: Trying to destroy uninitialized session in

session_start();
$_SESSION['name'] = $e_login;
}
else{
echo "Неверный пароль";
}
}
if(isset($_POST['logout'])){
unset($_SESSION['name']);
session_destroy();

}
?>
<?php
if(isset($_SESSION['name'])){
echo 'Вход на сайт выполнен


';

}
else{
echo '



';

}

?>

По дате
По рейтингу
Аватар пользователя
Ученик
11лет

Интересный блок кода вы решили нам показать. Из контекста, думаю, очевидно, что вызов session_start() происходит в блоке условного оператора IF. А php вам говорит, что вы пытаетесь уничтожить неинициализированную сессию ("Trying to destroy uninitialized session"). Значит, условный блок IF не выполняется.
Как решение можно вместо session_destroy() прописать следующее:

if(session_status() === PHP_SESSION_ACTIVE)
{
session_destroy();
}

Аватар пользователя
Мыслитель
11лет

session_start();
session_destroy();

ps а какой смысл в unset(); если ты грохаешь сессию?

Аватар пользователя
Ученик
11лет

Делаю по уроку, пока сам доконца не вник ( Убрать?

Аватар пользователя
Профи
11лет

session_destroy($_SESSION['name']);



Видео по теме