Heim >Backend-Entwicklung >PHP-Tutorial >Ausführliche Erklärung zum Lesen, Schreiben und Interagieren mit Cookies mithilfe von PHP+JavaScript

Ausführliche Erklärung zum Lesen, Schreiben und Interagieren mit Cookies mithilfe von PHP+JavaScript

墨辰丷
墨辰丷Original
2018-05-18 15:51:251679Durchsuche

In diesem Artikel werden hauptsächlich die Lese-, Schreib- und interaktiven Betriebsmethoden von PHP und JavaScript für Cookies vorgestellt. Er kombiniert Beispiele, um zu analysieren, wie PHP und Javascript Cookies setzen, PHP die von PHP und JS gesetzten Cookies liest und JS die PHP- und JS-Einstellungen liest Informationen zu Cookies und anderen damit verbundenen Betriebsfähigkeiten finden Freunde in Not unter

In diesem Artikel werden die Lese-, Schreib- und interaktiven Betriebsmethoden von PHP und JavaScript für Cookies beschrieben. Teilen Sie es als Referenz mit allen. Die Details lauten wie folgt:

Die folgenden Beispiele listen mehrere Interaktionsszenarien auf und listen die Methoden der Interaktion zwischen JS und PHP auf. Zusammenfassend lässt sich sagen, dass wir in Zukunft keine Probleme mehr mit Cookies haben werden.

<?php
 setcookie(&#39;php_cn_ck&#39;,&#39;php_中文_cookie&#39;);
 setcookie(&#39;php_en_ck&#39;,&#39;php_english_cookie&#39;);
?>

<script src="cookie.js"></script>
<script>
 Cookies.set(&#39;js_cn_ck&#39;,&#39;js_中文_cookie&#39;,5000);
 Cookies.set(&#39;js_en_ck&#39;,&#39;js_english_cookie&#39;);
</script>

PHP-Cookie wurde gesetzt:
php_cn_ck=php_ Chinese_cookie
php_en_ck=php_english_cookie

JS-Cookie wurde gesetzt:
js_cn_ck=js_中文_cookie
js_en_ck=js_english_cookie

Cookies lesen

Lesen Sie die von PHP gesendeten chinesischen und englischen Cookies

1 PHP PHP-Einstellungen PHP-Cookie lesen

<?php
 include(&#39;function.php&#39;);
 $php_cn_ck=$_COOKIE[&#39;php_cn_ck&#39;];
 $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[&#39;php_en_ck&#39;];
 echo "英文cookie无需解码:php_en_ck=$php_en_ck<br><br>";
?>

2 js liest PHP-Einstellungs-Cookie

<script src="cookie.js"></script>
<script>
 php_cn_ck=Cookies.get(&#39;php_cn_ck&#39;);
 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(&#39;php_en_ck&#39;);
 document.write("英文cookie无需解码 :php_en_ck="+php_en_ck+"<Br><br>");
</script>

Zwei lesen die von JS gesendeten chinesischen und englischen Cookies

1 PHP liest JS und setzt das JS-Cookie

<?php
 $js_cn_ck=$_COOKIE[&#39;js_cn_ck&#39;];
 $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[&#39;js_en_ck&#39;];
 echo "英文cookie无需解码:js_en_ck=$js_en_ck<br><br>";
?>

2 js liest das von js gesetzte Cookie

<script>
 js_cn_ck=Cookies.get(&#39;js_cn_ck&#39;);
 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(&#39;js_en_ck&#39;);
 document.write("英文cookie无需解码 :js_en_ck="+js_en_ck+"<Br><br>");
</script>

Zusammenfassung:

1. PHP nutzt eine eigene Funktion, um PHP-Cookies ohne Hindernisse und ohne Dekodierung zu lesen.
2. js verwendet die cookie.js-Methode, um js-Cookies ohne Hindernisse und ohne Dekodierung zu lesen.
3. JS muss die Funktionsverarbeitung „decodeURIComponent (escape(php_cn_ck))“ ausführen, um das chinesische Cookie von PHP zu lesen
4 php muss „unescape()“ ausführen. Funktionsverarbeitung

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] : &#39;/&#39;;
 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));
};

Verwandte Empfehlungen:

Detaillierte Erläuterung der Cookie-Nutzungsfälle in PHP

jQuery+CookieDetaillierte Erläuterung der Schritte zum Wechseln der Skins

CookieDetaillierte Erläuterung des Plug-in-JS-Cookie-Anwendungsfalls

Das obige ist der detaillierte Inhalt vonAusführliche Erklärung zum Lesen, Schreiben und Interagieren mit Cookies mithilfe von PHP+JavaScript. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn