如何在 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
?>
我有一个基本的 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
?>