Как обновить файл cookie в PHP?
Если я называю setcookie()
два раза с тем же именем cookie, я получаю два созданных куки.
Как обновить существующий файл cookie?
4 ответов
вы не можете обновить файл cookie как таковой, но можете его перезаписать. В противном случае, это то, что вы ищете: http://php.net/manual/en/function.setcookie.php
это работает. Обязательно прочитайте "общие подводные камни" с этой страницы.
вы можете использовать super global $_COOKIE['cookie_name']
а также для чтения / записи cookies.
вы можете обновить значение cookie с помощью функции setcookie (), но вы должны добавить '/' в 4-й аргумент который является аргументом "path", чтобы предотвратить создание другого файла cookie с тем же именем.
то есть setcookie('cookie_name', 'cookie_value', $exp_date, '/');
таким образом, в то время как PHP отправит два Set-Cookie: заголовки, если это указано, только последний должен сохраняться в браузерах.
В Netscape cookie-файлов спецификаций http://curl.haxx.se/rfc/cookie_spec.html говорит:
экземпляры одного и того же пути и имени будут перезаписывать друг друга, причем последний экземпляр будет иметь приоритет. Экземпляры одного и того же пути, но с разными именами добавят дополнительные сопоставления.
однако, возможно, было бы целесообразно избегать такие крайние условия. Реструктурируйте приложение, чтобы оно не переопределяло уже отправленный файл cookie.