setrawcookie

(PHP 5, PHP 7)

setrawcookieПосылает cookie не преобразовывая значение

Описание

bool setrawcookie ( string $name [, string $value [, int $expire = 0 [, string $path [, string $domain [, bool $secure = false [, bool $httponly = false ]]]]]] )

Функция setrawcookie() является полным аналогом функции setcookie(), исключая то, что значение cookie не будет автоматически преобразовано при отправке браузеру.

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

Для получения информации по параметру, см. документацию по функции setcookie().

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Список изменений

Версия Описание
5.5.0 Атрибут Max-Age теперь добавляется в заголовок Set-Cookie, отправляемый клиенту.
5.2.0 Был добавлен параметр httponly.

Смотрите также

Коментарии

Автор:
Firefox is following the real spec and does not decode '+' to space...in fact it further encodes them to '%2B' to store the cookie.  If you read a cookie using javascript and unescape it, all your spaces will be turned to '+'.
To fix this problem, use setrawcookie and rawurlencode:

<?php
setrawcookie
('cookie_name'rawurlencode($value), time()+60*60*24*365);
?>

The only change is that spaces will be encoded to '%20' instead of '+' and will now decode properly.
2006-03-10 13:56:39
http://php5.kiev.ua/manual/ru/function.setrawcookie.html
setrawcookie() isn't entirely 'raw'. It will check the value for invalid characters, and then disallow the cookie if there are any. These are the invalid characters to keep in mind: ',;<space>\t\r\n\013\014'.

Note that comma, space and tab are three of the invalid characters. IE, Firefox and Opera work fine with these characters, and PHP reads cookies containing them fine as well. However, if you want to use these characters in cookies that you set from php, you need to use header().
2006-12-12 07:31:53
http://php5.kiev.ua/manual/ru/function.setrawcookie.html

    Поддержать сайт на родительском проекте КГБ