This article mainly introduces the reading, writing and interactive operation methods of PHP and JavaScript for cookies. It combines examples to analyze how php and javascript set cookies, php reads cookies set by php and js, and js reads php and js settings. For cookies and other related operating skills, friends in need can refer to the following
This article describes the reading, writing and interactive operation methods of PHP and JavaScript for cookies. Share it with everyone for your reference, the details are as follows:
The following examples list several interaction scenarios and list the methods of interaction between JS and PHP. To summarize, we will avoid being troubled by cookie issues in the future.
<?php setcookie('php_cn_ck','php_中文_cookie'); setcookie('php_en_ck','php_english_cookie'); ?>
<script src="cookie.js"></script> <script> Cookies.set('js_cn_ck','js_中文_cookie',5000); Cookies.set('js_en_ck','js_english_cookie'); </script>
PHP cookie has been set:
php_cn_ck=php_中文_cookie
php_en_ck=php_english_cookie
JS cookie has been set:
js_cn_ck=js_中文_cookie
js_en_ck=js_english_cookie
Read cookie
Read the Chinese and English cookies sent by php
1 php read php set php cookie
<?php include('function.php'); $php_cn_ck=$_COOKIE['php_cn_ck']; $un_php_cn_ck=unescape($php_cn_ck); echo "解码前的中文cookie:php_cn_ck=$php_cn_ck<br><br>"; echo "解码后的中文cookie:un_php_cn_ck=$un_php_cn_ck<br><br>"; $php_en_ck=$_COOKIE['php_en_ck']; echo "英文cookie无需解码:php_en_ck=$php_en_ck<br><br>"; ?>
2 js read php set cookie
<script src="cookie.js"></script> <script> php_cn_ck=Cookies.get('php_cn_ck'); un_php_cn_ck = decodeURIComponent (escape(php_cn_ck)); document.write("解码前的中文cookie :php_cn_ck="+php_cn_ck+"<Br><br>"); document.write("解码后的中文cookie :un_php_cn_ck="+un_php_cn_ck+"<Br><br>"); php_en_ck=Cookies.get('php_en_ck'); document.write("英文cookie无需解码 :php_en_ck="+php_en_ck+"<Br><br>"); </script>
2 read JS Transmitted Chinese and English cookies
1 php read JS set js cookie
<?php $js_cn_ck=$_COOKIE['js_cn_ck']; $un_js_cn_ck=unescape($js_cn_ck); echo "解码前的中文cookie:js_cn_ck=$js_cn_ck<br><br>"; echo "解码后的中文cookie:un_js_cn_ck=$un_js_cn_ck<br><br>"; $js_en_ck=$_COOKIE['js_en_ck']; echo "英文cookie无需解码:js_en_ck=$js_en_ck<br><br>"; ?>
2 js read Get the cookie set by js
<script> js_cn_ck=Cookies.get('js_cn_ck'); document.write("解码前的中文cookie :js_cn_ck="+js_cn_ck+"<Br><br>"); //un_js_cn_ck = decodeURIComponent (escape(js_cn_ck)); 调用这两句会出现js解析中断 //document.write("解码后的中文cookie :un_js_cn_ck="+un_js_cn_ck+"<Br><br>"); js_en_ck=Cookies.get('js_en_ck'); document.write("英文cookie无需解码 :js_en_ck="+js_en_ck+"<Br><br>"); </script>
Summary:
1. PHP uses its own function There is no obstacle to reading PHP cookies and no decoding is required.
2. js uses the cookie.js method to read js cookies without any obstacles and without decoding.
3. JS needs to do "decodeURIComponent (escape(php_cn_ck))" to read the Chinese cookie of php.
4. php needs to do " unescape()" function processing
cookie.js:
var Cookies = {}; /** * 设置Cookies */ Cookies.set = function(name, value){ var argv = arguments; var argc = arguments.length; var expires = (argc > 2) ? argv[2] : null; if(expires != null){ var exp = new Date(); exp.setTime(exp.getTime() + 8*3600 + expires); } alert(exp.toGMTString()); var path = (argc > 3) ? argv[3] : '/'; var domain = (argc > 4) ? argv[4] : null; var secure = (argc > 5) ? argv[5] : false; document.cookie = name + "=" + escape (value) + ((expires == null) ? "" : ("; expires=" + exp.toGMTString())) + ((path == null) ? "" : ("; path=" + path)) + ((domain == null) ? "" : ("; domain=" + domain)) + ((secure == true) ? "; secure" : ""); }; /** * 读取Cookies */ Cookies.get = function(name){ var arg = name + "="; var alen = arg.length; var clen = document.cookie.length; var i = 0; var j = 0; while(i < clen){ j = i + alen; if (document.cookie.substring(i, j) == arg) return Cookies.getCookieVal(j); i = document.cookie.indexOf(" ", i) + 1; if(i == 0) break; } return null; }; /** * 清除Cookies */ Cookies.clear = function(name) { if(Cookies.get(name)){ var expdate = new Date(); expdate.setTime(expdate.getTime() - (86400 * 1000 * 1)); Cookies.set(name, "", expdate); } }; Cookies.getCookieVal = function(offset){ var endstr = document.cookie.indexOf(";", offset); if(endstr == -1){ endstr = document.cookie.length; } return unescape(document.cookie.substring(offset, endstr)); };
The above is the detailed content of Example analysis of php+JavaScript's reading, writing and interactive operation methods for Cookies. For more information, please follow other related articles on the PHP Chinese website!