Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/274.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
php-Cookie值被更改为不同的值_Php_Cookies - Fatal编程技术网

php-Cookie值被更改为不同的值

php-Cookie值被更改为不同的值,php,cookies,Php,Cookies,我用PHP设置cookie,如下所示: setcookie( "hero", ", Comma . Dot < Left > Right - Dash _Underline / Slash \\ Backslash", time() + (10 * 365 * 24 * 60 * 60)); echo $_COOKIE["hero"]; 结果是: ,逗号。点右-破折号\u下划线/斜杠\反斜杠 为什么会这样?当设置cookie时,PHP会自动对其值部分进行url编码 阅读setc

我用PHP设置cookie,如下所示:

setcookie(
"hero",
", Comma . Dot < Left > Right - Dash _Underline / Slash \\ Backslash",
time() + (10 * 365 * 24 * 60 * 60));
echo $_COOKIE["hero"];
结果是:

,逗号。点<左>右-破折号\u下划线/斜杠\反斜杠



为什么会这样?

当设置cookie时,PHP会自动对其值部分进行url编码


阅读
setcookie()上的条目

您可以设置原始cookie,然后值将保持不变,然后值在发送到浏览器时不会自动进行URL编码。更多信息


那么PHP在获取cookie的值时会解码cookie的值部分吗?是的。如果您想设置cookie而不进行编码,请使用
setrawcookie
。这里有一些关于这个问题的讨论:出于好奇,如何在不解码cookie值的情况下获取cookie值?PHP会自动对其进行解码。你可以自己(用户)找到编码版本,就像你之前找到它一样,因为如果你不能早点找到编码版本,你就不会问这个问题。但是我很确定你不能用PHP来做。