Почему я должен обнулить переменные сеанса? session_destroy недостаточно?
session_destroy
<?php session_start(); $_SESSION = array();// <--Is necessary? if (isset($_COOKIE[session_name()]])){ setcookie(session_name(),'',time()-42000,'/'); } session_destroy(); header('Location:Login.php'); ?>
Это мера предосторожности, чтобы аннулировать значения, только в случае, если объект не уничтожен session_destroy();.
session_destroy();
Просто предосторожность и хорошая практика, это не требуется.
Почему вы начинаете сеанс и сразу его уничтожаете?
Вы должны использовать session_unset() и session_destroy() оба. Обратите внимание, что session_destroy() очищает переменные, только когда страница перезагружается или перенаправляется на другую страницу. Пока это одна и та же страница, переменные по-прежнему могут использоваться после вызова session_destroy(), поэтому рекомендуется использовать session_unset() непосредственно перед session_destroy().
session_unset()
session_destroy()