note 62848 modified in function.setcookie by danbrown

From: Date: Sun, 17 May 2009 17:58:34 +0000
Subject: note 62848 modified in function.setcookie by danbrown
References: 1  Groups: php.notes 
Request: Send a blank email to php-notes+get-155046@lists.php.net to get a copy of this message
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. --was-- 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: 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. http://php.net/manual/en/function.setcookie.php

« previous php.notes (#155046) next »