如何在 php 中发送正确的 cookie 值翻译

How to send correct translation in cookie value in php

我有一个基本的 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 值进行 urlencoding

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

?>