本文介绍PHP和js交互操作cookie,且cookie有中文解决办法。
代码如下:
JS操作cookie和php交互,cookie有中文且不乱码function $_cookie(name,value){
var date = new Date();
$livetime = 5*24*3600*1000;
// cookie生命周期
date.setTime(date.getTime()+$livetime);
document.cookie = name+"="+escape(value)+";expires="+date.toGMTString();
//js escape是把cookie转换为十六进制编码
}
// 设置cookie
$_cookie("cookie","javascript设置cookie,PHP获取");
//getCookie 是把cookie转换为原始字符串
function getCookie(name) {
var arr = document.cookie.match(new RegExp("(^| )" + name + "=([^;]*)(;|$)"));
if (arr != null) return unescape(arr[2]); return null;
};
header("Content-type: text/html; charset=utf-8");
// escape unescape是把cookie转换为十六进制编码跟PHP的json编码差不多
function escape($str) {
return str_replace('\\', '%', substr(json_encode($str), 1, -1));
}
function unescape($str) {
return json_decode('"'.str_replace('%', '\\', $str).'"');
}
if(isset($_COOKIE["cookie"])){
echo unescape($_COOKIE["cookie"]);
}
?>
以上应该有注释的地方都注释了,应该是能够满足大部分需求。
贴图:
html页面输出
浏览器COOKIE
本文出自:琅枫个人博客。如需转载请注明出处!
本文出处:"https://www.phpfeng.cn/learn/php/168.html"