Heim >Backend-Entwicklung >PHP-Tutorial >Beispielanalyse der Lese-, Schreib- und interaktiven Betriebsmethoden von PHP+JavaScript für Cookies

Beispielanalyse der Lese-, Schreib- und interaktiven Betriebsmethoden von PHP+JavaScript für Cookies

黄舟
黄舟Original
2017-08-08 09:49:501311Durchsuche

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_中文_ Cookie
php_en_ck=php_english_cookie

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

Cookie lesen

Lesen Sie die von PHP gesendeten chinesischen und englischen Cookies

1 PHP liest PHP und setzt PHP-Cookie


<?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>

Zweite Lesung der von JS gesendeten chinesischen und englischen Cookies

1 PHP-Lesung JS setzt 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));
};

Das obige ist der detaillierte Inhalt vonBeispielanalyse der Lese-, Schreib- und interaktiven Betriebsmethoden von PHP+JavaScript für Cookies. 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