Перейти до вмісту
Пошук в
  • Детальніше...
Шукати результати, які ...
Шукати результати в ...

Как удалить (или обновить значение) в cookie


Aeooe

Recommended Posts

Всем доброго времени суток!

 

Что-то не хватает знаний в вопросе удаления или обновления значений в COOKIE.

1) В контроллере checkout/success нужно очестить(удалить) COOKIE['order']. Пробую вызывать функцию:

setcookie('order', "", time() - 8086400, '/');

2. Далее (по коду, в этом же контроллере checkout/success) делаю соответственно:

$data['footer'] = $this->load->controller('common/footer');

3. И в контроллере common/footer вывожу все COOKIE:

print_r($this->request->cookie);

4. В итоге прекрасно вижу массив COOKIE и параметр который хотел удалить:

Array
(
    [_ym_uid] => 15549136121045367742
    [_ym_d] => 1589552091
    [currency] => RUB
    [language] => ru
    [coockiesaccept] => 1
    [OCSESSID] => ad93c18b8f9c9f80d50259da1b
    [PHPSESSID] => gbr2g3e6qvr1pu35aq9cuiel10
    [order] => Array
        (
            [promocode] => 
            [message] => 
            [event_name] => MDM  Master Data Marathon 3PM CET
            [name] => Andrey2
            [email] => [email protected]
            [phone] => +79009996565
            [tariff] => 125
        )

    [username] => Andrey2
    [email] => Andrey2
    [phone] => Andrey2
)

Подскажите пожалуйста как правильно удалять COOKIE?

Змінено користувачем Aeooe
Надіслати
Поділитися на інших сайтах


хе

 

3 минуты назад, Aeooe сказал:

setcookie('order', "", time() - 86400, '/');

Это в отправляете

 

 

3 минуты назад, Aeooe сказал:

print_r($this->request->cookie);

А это вы выводите с тем чем к вам пришли

Надіслати
Поділитися на інших сайтах

2 hours ago, chukcha said:

хе

 

Это в отправляете

 

 

А это вы выводите с тем чем к вам пришли

 

Это я понял. Но не понял, почему при последующем обновлении страницы COOKIE по прежнему приходят неизменными, т.е. сколько раз я бы не обновлял страницу (не делал setcookie('order', "", time() - 86400, '/');) всегда  выводятся одинаковый массив.

 

Проанализировал заголовки запроса вкладки нетворк браузера.

 

Response Headers:

  1. Connection:
    Keep-Alive
  2. Content-Encoding:
    gzip
  3. Content-Length:
    484
  4. Content-Type:
    text/html; charset=UTF-8
  5. Date:
    Mon, 10 Aug 2020 21:41:54 GMT
  6. Keep-Alive:
    timeout=5, max=100
  7. Server:
    Apache/2.4.18 (Ubuntu)
  8. Set-Cookie:
    OCSESSID=ad93c18b8f9c9f80d50259da1b; path=/
  9. Set-Cookie:
    language=ru-ru; expires=Wed, 09-Sep-2020 21:41:54 GMT; Max-Age=2592000; path=/; domain=thinklinkers.local
  10. Set-Cookie:
    order=deleted; expires=Thu, 01-Jan-1970 00:00:01 GMT; Max-Age=0; path=/
  11. Vary:
    Accept-Encoding
Request Headers:
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9
Accept-Encoding: gzip, deflate
Accept-Language: en-US,en;q=0.9,ru;q=0.8
Cache-Control: no-cache
Connection: keep-alive
Cookie: _ym_uid=15549136121045367742; _ym_d=1589552091; currency=RUB; language=ru; currency=USD; coockiesaccept=1; OCSESSID=ad93c18b8f9c9f80d50259da1b; language=ru-ru; PHPSESSID=gbr2g3e6qvr1pu35aq9cuiel10; order%5Bpromocode%5D=; order%5Bmessage%5D=; events%2Fmdm__master_data_marathon; order%5Bevent_name%5D=MDM%20%20Master%20Data%20Marathon%203PM%20CET%2C%20%2029th%20September%202020; username=Andrey2; order%5Bname%5D=Andrey2; email=Andrey2; order%5Bemail%[email protected]; phone=Andrey2; order%5Bphone%5D=%2B79009996565; order%5Btariff%5D=125
Host: thinklinkers.local
Pragma: no-cache
Upgrade-Insecure-Requests: 1
User-Agent: Mozilla/5.0 (iPhone; CPU iPhone OS 13_2_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/13.0.3 Mobile/15E148 Safari/604.1
 
Что делаю не так?
 
Куки, кстати, создаю при помощи jquery.cookie.js
Змінено користувачем Aeooe
Надіслати
Поділитися на інших сайтах


Легко удаляются эти куки:

[username] => Andrey2
[email] => Andrey2
[phone] => Andrey2

 

А массив order не отказ не хочет. =(

Что-то с ним не так...

 

Проблема видимо с удалением массивов в COOKIE.

 

Как правильно удалять массив?

Змінено користувачем Aeooe
Надіслати
Поділитися на інших сайтах


11 минут назад, Aeooe сказал:

Господа-профессионалы. Есть кто знает решение моей проблемы с удаление COOKIE если он массив?

if (isset($this->request->cookie['order'])) {
    foreach ($this->request->cookie['order'] as $name => $value) {
        setcookie("order[".$name."]", "", time() - 3600);
    }
}

 

Надіслати
Поділитися на інших сайтах

On 8/11/2020 at 8:08 PM, spectre said:

if (isset($this->request->cookie['order'])) {
    foreach ($this->request->cookie['order'] as $name => $value) {
        setcookie("order[".$name."]", "", time() - 3600);
    }
}

 

 

Всем доброго времени суток!

 

НЕА! не работает... =(

При последующих обновлениях страницы массив order в COOKIE присутствует неизменный. PHP7.0 если что.

 

Есть предположения почему?

Надіслати
Поділитися на інших сайтах


ну может где-то вывод раньше идёт в php

 

вариантов много. пробуйте удалить-прменять одно значение массива а там найдёте откуда ноги 

Надіслати
Поділитися на інших сайтах

Створіть аккаунт або увійдіть для коментування

Ви повинні бути користувачем, щоб залишити коментар

Створити обліковий запис

Зареєструйтеся для отримання облікового запису. Це просто!

Зареєструвати аккаунт

Вхід

Уже зареєстровані? Увійдіть тут.

Вхід зараз
  • Зараз на сторінці   0 користувачів

    • Ні користувачів, які переглядиють цю сторінку
×
×
  • Створити...

Important Information

На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність.