我有一个基本的cookie,它会错误地编码(或错误地解码)URL字符。
该cookie将被设置,但是该值编码不正确。cookie的值必须是:https://mywebsite.com,但是一旦我设置cookie,它显示的值:HTTPS%3A%2F%2Fmywebsite.com,所以cookie不工作。
所有其他变量均正常工作,但我无法获得编码以编写https://
Cookie在php(wordpress)中。
代码是:
<?php
//Cookie
$cookie_name = "cookie";
$cookie_value = "https://mywebsite.com";
setcookie($cookie_name, $cookie_value, time() + (86400), "/", ".mywebsite.com", TRUE);
//end cookie
?>
我曾尝试添加urldecode($cookie_name);
,urldecode($cookie_value);
但均无济于事。
你应该看看setrawcookie
setrawcookie —发送一个cookie,但不对cookie值进行未编码
setrawcookie()与setcookie()完全相同,不同之处在于,当cookie值发送到浏览器时不会自动对其进行urlencoded。
你的代码看起来像
<?php
//Cookie
$cookie_name = "cookie";
$cookie_value = "https://mywebsite.com";
setrawcookie($cookie_name, $cookie_value, time() + (86400), "/", ".mywebsite.com", TRUE);
//end cookie
?>
这工作了!!!谢谢@GrumbleShark!