Maison >développement back-end >tutoriel php >Explication détaillée sur la façon de lire, écrire et interagir avec les cookies en utilisant PHP+JavaScript
Cet article présente principalement les méthodes de lecture, d'écriture et de fonctionnement interactif de PHP et JavaScript pour les cookies. Il combine des exemples pour analyser comment php et javascript définissent les cookies, php lit les cookies définis par php et js, et js lit les paramètres php et js. . Pour les cookies et autres compétences de fonctionnement connexes, les amis dans le besoin peuvent se référer à
Cet article décrit les méthodes de lecture, d'écriture et de fonctionnement interactif de PHP et JavaScript pour les cookies. Partagez-le avec tout le monde pour votre référence, les détails sont les suivants :
Les exemples suivants répertorient plusieurs scénarios d'interaction et répertorient les méthodes d'interaction entre JS et PHP. En résumé, nous éviterons d’être dérangés par des problèmes de cookies à l’avenir.
<?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>
Le cookie PHP a été défini :
php_cn_ck=php_中文_cookie
php_en_ck=php_english_cookie
Le cookie JS a été défini :
js_cn_ck=js_中文_cookie
js_en_ck=js_english_cookie
Lire le cookie
Lire les cookies chinois et anglais envoyés par php
1 php lire Obtenir le cookie php des paramètres php
<?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 lire le cookie des paramètres php
<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. Lisez les cookies chinois et anglais envoyés par JS
1 php lit JS et définit le cookie js
<?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 lit le cookie défini par 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>
Résumé :
1. PHP utilise sa propre fonction pour lire les cookies PHP sans aucun obstacle et sans décodage.
2. js utilise la méthode cookie.js pour lire les cookies js sans aucun obstacle et sans décodage.
3. JS doit effectuer le traitement de la fonction "decodeURIComponent (escape(php_cn_ck))" pour lire le cookie chinois de php
4 php doit faire " unescape()" traitement des fonctions
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)); };
Explication détaillée des cas d'utilisation des cookies en PHP
jQuery+CookieExplication détaillée des étapes pour changer de skin
CookieExplication détaillée du cas d'utilisation du plug-in js-cookie
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!