очистить PHPSESSID

Тема в разделе "PHP", создана пользователем ivashka, 26 апр 2011.

Модераторы: latteo
  1. ivashka

    ivashka

    Регистр.:
    16 май 2007
    Сообщения:
    151
    Симпатии:
    15
    Здравствуйте.
    Столкнулся с проблемой.
    В одном месте на сайте мне нужно очистить куку PHPSESSID, у пользователя, что бы ему присвоилась другая, можно и не присваивать, а только удалить. Что бы был сеанс завершен.

    Делал через:
    PHP:
    setcookie ("PHPSESSID"""time() - 3600);
    не получается, всеровно остается прежняя сессия.

    Как же ее все таки убить?
     
  2. saen

    saen

    Регистр.:
    6 авг 2006
    Сообщения:
    756
    Симпатии:
    129
    PHPSESSID - это идентификатор сессии. Чтобы его перезаписать, нужно выполнить session_regenerate_id().
     
    ivashka нравится это.
  3. a_n_d_y

    a_n_d_y

    Регистр.:
    26 мар 2006
    Сообщения:
    465
    Симпатии:
    61
    Если нужно убить, то сначала
    PHP:
    session_destroy();
    а затем уж и сносим куку.
     
  4. saen

    saen

    Регистр.:
    6 авг 2006
    Сообщения:
    756
    Симпатии:
    129
    bool session_regenerate_id ( [bool delete_old_session] )

    session_regenerate_id() will replace the current session id with a new one, and keep the current session information.

    Список параметров:
    delete_old_session

    Whether to delete the old associated session file or not. Defaults to FALSE.
     
  5. a_n_d_y

    a_n_d_y

    Регистр.:
    26 мар 2006
    Сообщения:
    465
    Симпатии:
    61
    Вот именно как убить я и показал.
     
  6. AleksWhite

    AleksWhite Постоялец

    Регистр.:
    5 фев 2008
    Сообщения:
    55
    Симпатии:
    10
    если вы установили куку, то все куки располагаются в глобальной переменной $_COOKIE
    Вы установили куку и ее значение должно быть в $_COOKIE['PHPSESSID']
    и удаляется через unset($_COOKIE['PHPSESSID']);
    Хотя может вы перепутали с сессиями?

    И еще один момент в вашем примере вы установили просроченную куку, которая должна была уже быть удалена.
     
  7. -=Xardas=-

    -=Xardas=-

    Регистр.:
    17 сен 2008
    Сообщения:
    250
    Симпатии:
    58
    зачем херню пишешь?

    $_COOKIE это КОПИЯ кукисов полученых от клиента серевером, при рефреше страници, при твоем подходе - $_COOKIE останется тем же что и был. Читай спецификацию HTTP протокола.