所属分类:php教程
PHP代码:
<?php // 读取JavaScript设置的cookie header("Content-type: text/html; charset=utf-8"); if(isset($_COOKIE["param"])){ echo $_COOKIE["param"]; } ?>
js代码:
<script> function setCookie(c_name, value, expiredays) { var exdate = new Date(); exdate.setDate(exdate.getDate() + expiredays); document.cookie = c_name + "=" + escape(value) + "; expires=" + exdate.toGMTString() + "; path=/"; } // 读取cookie function getCookie(c_name) { if (document.cookie.length > 0) { c_start = document.cookie.indexOf(c_name + "=") if (c_start != -1){ c_start = c_start + c_name.length + 1 c_end = document.cookie.indexOf(";", c_start) if (c_end == -1) c_end = document.cookie.length return unescape(document.cookie.substring(c_start, c_end)) } } return "" } // 检查cookie function checkCookie(c_name) { username = getCookie(c_name); console.log(username); if (username != null && username != "") { return true; } else { return false; } } // 清除cookie function clearCookie(name) { setCookie(name, "", -1); }
需要注意几点:
1、php用自身函数读取php设置的cookie,没有任何障碍,无需解码处理。
2、js采用cookie.js方法读取js设置的cookie,没有任何障碍,无需解码处理。
3、js读取php的中文cookie,建议使用 decodeURIComponent (escape("...")) 函数处理,否则可能读取不正常
4、php读取js的中文cookie 建议做 unescape 处理,否则可能出现乱码。