Задать вопрос

Запутался в сессиях, распутайте меня?

Авторизуюсь на сайте показывает:
$_SESSION["UserName"] // имя сессии есть допустим ivan
$_COOKIE["Test"] // имя кук есть допустим mysite.com

Прохожу через страницу выхода (вопрос: я её правильно сделал?)
// Уничтожаем сессию
if(isset($_SESSION["UserName"])){
    session_destroy();
}
// Удаляем Cookie
SetCookie("Test","");

Теперь:
var_dump($_SESSION);
var_dump($_COOKIE);

Первый показывает Undefined variable
Второй показывает:
array(1) {
  ["PHPSESSID"]=>
  string(26) "ra7emp6j6vp6o85oqlclefi315"

Я же вышел, что за PHPSESSID и почему он остаётся? Тут расшифровки нет никакой php.net/manual/ru/reserved.variables.cookies.php
  • Вопрос задан
  • 360 просмотров
Подписаться 1 Оценить Комментировать
Помогут разобраться в теме Все курсы
  • Skillbox
    Веб-разработчик на PHP
    9 месяцев
    Далее
  • Хекслет
    PHP-разработчик
    10 месяцев
    Далее
  • Нетология
    Веб-разработчик с нуля: профессия с выбором специализации
    14 месяцев
    Далее
Решения вопроса 2
t-alexashka
@t-alexashka
Сразу пишу legacy код
PHPSESSID это стандартная кука - ключ, при условии что у вас где-то в коде выше есть session_start();

session_destroy вы сделали, она удалилась, но ключ на нее в куках остался. либо удалите ее как и test либо проверьте не вызывается у вас где-то там( чего вы тут не показали) session_start
Ответ написан
Stalker_RED
@Stalker_RED
$_SESSION["UserName"] // имя сессии есть допустим ivan
Нет, это не имя сессии, а какое-то значение с ключом "UserName"
Имя сессии по умолчанию равно "PHPSESSID", и меняется оно при помощи session_name() или в конфиге

$_COOKIE["Test"] // имя кук есть допустим mysite.com
Непонятно что вы имеете в виду. Это обращение к какой-то куке с именем "Test". Из вашего кода непонятно откуда она берется.

// Уничтожаем сессию
// Удаляем Cookie
...
var_dump($_SESSION);
var_dump($_COOKIE);

Первый показывает Undefined variable
Всё правильно, вы же сделали session_destroy

Второй показывает:
array(1) {
["PHPSESSID"]=>
string(26) "ra7emp6j6vp6o85oqlclefi315"
И тоже всё правильно, вы же не уничтожали куку "PHPSESSID".
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

Похожие вопросы
FoodSoul Калининград
от 180 000 до 250 000 ₽
IT-Spirit Москва
от 230 000 до 320 000 ₽
от 200 000 до 290 000 ₽