PHP与JavaScript针对Cookie的读写、交互操作方法详解
本文实例讲述了PHP与JavaScript针对Cookie的读写、交互操作方法。分享给大家供大家参考,具体如下:
下面的例子列出几种情形交互场景,列出JS和php交互的方法。总结下,以免日后再为cookie问题困扰。
PHPcookie已经设置:
php_cn_ck=php_中文_cookie
php_en_ck=php_english_cookie
JScookie已经设置:
js_cn_ck=js_中文_cookie
js_en_ck=js_english_cookie
读取cookie
一读取php传送的中英文cookie
1php读取php设置phpcookie
"; echo"解码后的中文cookie:un_php_cn_ck=$un_php_cn_ck
"; $php_en_ck=$_COOKIE['php_en_ck']; echo"英文cookie无需解码:php_en_ck=$php_en_ck
"; ?>
2js读取php设置cookie
二读取JS传送的中英文cookie
1php读取JS设置jscookie
"; echo"解码后的中文cookie:un_js_cn_ck=$un_js_cn_ck
"; $js_en_ck=$_COOKIE['js_en_ck']; echo"英文cookie无需解码:js_en_ck=$js_en_ck
"; ?>
2js读取js设置的cookie
总结:
1.php用自身函数读取php的cookie,没有任何障碍,无需解码处理。
2.js采用cookie.js方法读取js的cookie,没有任何障碍,无需解码处理。
3.js读取php的中文cookie,需要做"decodeURIComponent(escape(php_cn_ck))"函数处理
4.php读取js的中文cookie需要做"unescape()"函数处理
cookie.js:
varCookies={}; /** *设置Cookies */ Cookies.set=function(name,value){ varargv=arguments; varargc=arguments.length; varexpires=(argc>2)?argv[2]:null; if(expires!=null){ varexp=newDate(); exp.setTime(exp.getTime()+8*3600+expires); } alert(exp.toGMTString()); varpath=(argc>3)?argv[3]:'/'; vardomain=(argc>4)?argv[4]:null; varsecure=(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){ vararg=name+"="; varalen=arg.length; varclen=document.cookie.length; vari=0; varj=0; while(i更多关于PHP相关内容感兴趣的读者可查看本站专题:《PHP中cookie用法总结》、《PHP数组(Array)操作技巧大全》、《PHP基本语法入门教程》、《PHP运算与运算符用法总结》、《PHP网络编程技巧总结》及《php字符串(string)用法总结》
希望本文所述对大家PHP程序设计有所帮助。