За последние 24 часа нас посетили 17587 программистов и 1722 робота. Сейчас ищут 954 программиста ...

Удаление куков

Тема в разделе "PHP для новичков", создана пользователем MichaelPak, 5 ноя 2011.

  1. MichaelPak

    MichaelPak Активный пользователь

    С нами с:
    5 авг 2011
    Сообщения:
    46
    Симпатии:
    0
    Есть файл exit.php:
    PHP:
    1. <?php
    2. ini_set ("session.use_trans_sid", true);
    3.  
    4. unset($_SESSION['id']);
    5. SetCookie("mail","",time()-3600);
    6. SetCookie("password","",time()-3600);
    7. header('Location: [url=http://somesite']http://somesite'[/url]);
    8. ?>
    Но куки почему-то не удаляются. В чем может быть проблема?
     
  2. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    Кука удаляется (если всё правильно) только как бы на следующей странице.
    Т.е. когда ЭТА страница отшлется в браузер тогда он и решт ее удлять. Если она и тогда не удалится то хз. На вид все верно. Или может время надо побольше в прошлое дать
     
  3. MichaelPak

    MichaelPak Активный пользователь

    С нами с:
    5 авг 2011
    Сообщения:
    46
    Симпатии:
    0
    Ну про следующую страницу я знаю, так как php - северный язык. Может быть проблема в header('Location: http://somesite');?
     
  4. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    Добавь пару нулей к минусу. Может из-за часового пояса вместо прошлого время оказывается в будущем.
     
  5. MichaelPak

    MichaelPak Активный пользователь

    С нами с:
    5 авг 2011
    Сообщения:
    46
    Симпатии:
    0
    сделал:
    PHP:
    1. <?php
    2. SetCookie("mail","",time()-3600000000);
    3. SetCookie("password","",time()-3600000000);
    4. ?>
    не помогло.
     
  6. MichaelPak

    MichaelPak Активный пользователь

    С нами с:
    5 авг 2011
    Сообщения:
    46
    Симпатии:
    0
    сделал даже так:
    PHP:
    1. <?php
    2. ini_set ("session.use_trans_sid", true);
    3.  
    4. unset($_SESSION['id']);
    5. SetCookie("mail","",time()-3600000000);
    6. SetCookie("password","",time()-3600000000);
    7. echo $_COOKIE['mail']." - ".$_COOKIE['password'];
    8. ?>
    не помогает.
     
  7. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    Вот это уже интереснее =)
    Я тогда не знаю. Задай четвертый параметр.
     
  8. MichaelPak

    MichaelPak Активный пользователь

    С нами с:
    5 авг 2011
    Сообщения:
    46
    Симпатии:
    0
    Боюсь спросить такой глупый вопрос, но я понять не могу, что за четвертый параметр у этой функции?
     
  9. sobachnik

    sobachnik Старожил

    С нами с:
    20 апр 2007
    Сообщения:
    3.380
    Симпатии:
    13
    Адрес:
    Дмитров, МО
    Перед всем этим никакого вывода в браузер нет? Может там BOM от UTF-8 затисался?
    А по поводу четвёртого (а также пятого, шестого и седьмого :) ) параметров - это тут:
    http://ru.php.net/manual/en/function.setcookie.php
     
  10. sobachnik

    sobachnik Старожил

    С нами с:
    20 апр 2007
    Сообщения:
    3.380
    Симпатии:
    13
    Адрес:
    Дмитров, МО
    Это ты перестарался - в результате тут отрицательное число получилось, которое (во всяком случае в моей системе) истрактовалось как
    Поставь там вместо time()-XXXXX просто цифру 1 и нормально.
     
  11. MichaelPak

    MichaelPak Активный пользователь

    С нами с:
    5 авг 2011
    Сообщения:
    46
    Симпатии:
    0
    Добавил четвертый параметр в функцию, заработало!
    PHP:
    1. <?php
    2. SetCookie("mail","",time()-3600000000,"/");
    3. SetCookie("password","",time()-3600000000,"/");
    4. ?>