Heim  >  Artikel  >  Backend-Entwicklung  >  Lösen Sie das Problem verstümmelter PHP-Cookies

Lösen Sie das Problem verstümmelter PHP-Cookies

藏色散人
藏色散人Original
2020-07-21 10:46:493137Durchsuche

Lösung für verstümmeltes PHP-Cookie: Öffnen Sie zuerst die entsprechende PHP-Codedatei und verwenden Sie dann die in PHP integrierte Funktion „unicode_encode“, um einen Unicode-String in die gewünschte Codierungsmethode umzuwandeln, um das verstümmelte Problem zu lösen.

Lösen Sie das Problem verstümmelter PHP-Cookies

PHP So erhalten Sie den COOKIE-Wert und die chinesische Lösung für verstümmelten Code

Das Abrufen des Cookie-Werts in PHP ist sehr einfach long as COOKIE[ ] In der Mitte steht der Cookie-ID-Name, der abgerufen werden kann. Lassen Sie mich Ihnen kurz ein Beispiel für die Verwendung von Cookies in PHP vorstellen.

Empfehlung: „PHP-Tutorial

Wert dem Cookie zuweisen

setcookie (name, value, expire, path, domain)

Zum Beispiel:

<table width="620" align="center" border="0" cellpadding="1" cellspacing="1" style="background:#FB7"> <tr> <td width="464" height="27" bgcolor="#FFE7CE"> 代码如下</td> <td width="109" align="center" bgcolor="#FFE7CE" style="cursor:pointer;" onclick="doCopy(&#39;copy6428&#39;)">复制代码</td> </tr> <tr> <td height="auto" colspan="2" valign="top" bgcolor="#FFFFFF" style="padding:10px;" class="copyclass" id=copy6428>
<?php
setcookie(“user”, “Alex Porter”, time() 3600);
?>

Was wäre, wenn wir wollen? Holen Sie sich den Benutzerwertvorgang

<table width="620" align="center" border="0" cellpadding="1" cellspacing="1" style="background:#FB7"> <tr> <td width="464" height="27" bgcolor="#FFE7CE"> 代码如下</td> <td width="109" align="center" bgcolor="#FFE7CE" style="cursor:pointer;" onclick="doCopy(&#39;copy6844&#39;)">复制代码</td> </tr> <tr> <td height="auto" colspan="2" valign="top" bgcolor="#FFFFFF" style="padding:10px;" class="copyclass" id=copy6844>
<?php
echo $_COOKIE["user"];
print_r($_COOKIE);
?>

Wenn wir das Benutzercookie nicht setzen, machen wir bei der Ausführung einen Fehler, sodass wir die isset-Funktion zur Beurteilung verwenden können.

<table width="620" align="center" border="0" cellpadding="1" cellspacing="1" style="background:#FB7"> <tr> <td width="464" height="27" bgcolor="#FFE7CE"> 代码如下</td> <td width="109" align="center" bgcolor="#FFE7CE" style="cursor:pointer;" onclick="doCopy(&#39;copy3666&#39;)">复制代码</td> </tr> <tr> <td height="auto" colspan="2" valign="top" bgcolor="#FFFFFF" style="padding:10px;" class="copyclass" id=copy3666>
<?php
if(isset($_COOKIE["user"]))
echo"Welcome".$_COOKIE["user"]."!<br>";
else
echo"Welcomeguest!<br>";
?>

Chinesische Schriftzeichen sind immer verstümmelt

Nachdem beispielsweise „Xiaowei“ erhalten wurde, lautet es „%u5C0F%u4F1F“

Das ist eigentlich kein verstümmelter Code, aber für die Unicode-Codierung gibt es in PHP eine integrierte Funktion namens unicode_encode, die einen Unicode-String in die gewünschte Codierungsmethode konvertieren kann. Der Funktionsprototyp ist: string unicode_encode (Unicode-Eingabe, String-Codierung)

Hier ist eines. Sie können sich auf das Beispiel beziehen:

<table width="620" align="center" border="0" cellpadding="1" cellspacing="1" style="background:#FB7"> <tr> <td width="464" height="27" bgcolor="#FFE7CE"> 代码如下</td> <td width="109" align="center" bgcolor="#FFE7CE" style="cursor:pointer;" onclick="doCopy(&#39;copy2845&#39;)">复制代码</td> </tr> <tr> <td height="auto" colspan="2" valign="top" bgcolor="#FFFFFF" style="padding:10px;" class="copyclass" id=copy2845>
<?php
  header (&#39;Content-Type: text/plain; charset=ISO-8859-2&#39;);
  $encoded = unicode_encode (&#39;\u0150\u0179&#39;, &#39;ISO-8859-2&#39;);
  echo &#39;Unicode semantics: &#39;, ini_get (&#39;unicode_semantics&#39;), PHP_EOL, &#39;The string itself: &#39;;
  printf ($encoded . PHP_EOL, &#39;%s&#39;);
  echo &#39;The length of the string: &#39;, strlen ($encoded);
?>

Das Beispiel kombiniert js php, um Seitenbrowserstatistiken zu implementieren

<table width="620" align="center" border="0" cellpadding="1" cellspacing="1" style="background:#FB7"> <tr> <td width="464" height="27" bgcolor="#FFE7CE"> 代码如下</td> <td width="109" align="center" bgcolor="#FFE7CE" style="cursor:pointer;" onclick="doCopy(&#39;copy2948&#39;)">复制代码</td> </tr> <tr> <td height="auto" colspan="2" valign="top" bgcolor="#FFFFFF" style="padding:10px;" class="copyclass" id=copy2948>
// 浏览页面次数
$visited = (int)$_COOKIE[&#39;pageVisits&#39;] 1;
setcookie( &#39;pageVisits&#39;,  // cookie名
$visited,  // cookie值
time() 7*24*60*60  // 过期时间
);

Beim Ausführen dieser Seite schreibt der Server einen Cookie-Wert um die Anzahl der Seitenbesuche zu speichern. Hier wird die Setcookie-Methode von PHP angewendet.

Diesen Wert ausgeben:

Jetzt sehen wir uns an, wie man js verwendet, um Cookies abzurufen und zu setzen

<table width="620" align="center" border="0" cellpadding="1" cellspacing="1" style="background:#FB7"> <tr> <td width="464" height="27" bgcolor="#FFE7CE"> 代码如下</td> <td width="109" align="center" bgcolor="#FFE7CE" style="cursor:pointer;" onclick="doCopy(&#39;copy2304&#39;)">复制代码</td> </tr> <tr> <td height="auto" colspan="2" valign="top" bgcolor="#FFFFFF" style="padding:10px;" class="copyclass" id=copy2304>
var cookie = $.cookie(‘demoCookie’);
if(cookie) $(‘.jq-text’).text(cookie).show();
$(‘.fields a’).click(function(e){
var text = $(‘#inputBox’).val();
// 设置cookie的值
$.cookie(‘demoCookie’,text,{expires: 7});
$(‘.jq-text’).text(text).slideDown(‘slow’);
e.preventDefault();
});
$(‘#form1′).submit(function(e){ e.preventDefault(); })
var cookie = $.cookie(‘demoCookie’);

Den Wert des Schlüsselnamens demoCookie abrufen (null wird zurückgegeben, wenn dies der Fall ist). nicht vorhanden).

$.cookie(‘demoCookie’,text,{expires: 7});

Wenn auf den Speicherlink geklickt wird, wird der Wert des Eingabefelds in das Cookie geschrieben.

Das obige ist der detaillierte Inhalt vonLösen Sie das Problem verstümmelter PHP-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