Detaillierte Einführung in die Verwendung von Cookies und Sitzungen in PHP

高洛峰
Freigeben: 2023-03-06 20:30:02
Original
1715 Leute haben es durchsucht

Sehr oft müssen wir die Aktivitäten der Besucher auf der gesamten Website verfolgen und ihre Identität automatisch oder halbautomatisch identifizieren (d. h. Funktionen wie die Website-Anmeldung, die häufig erwähnt werden). Derzeit verwenden wir häufig Cookies und Sitzungen zu verfolgen und zu beurteilen

1. Einführung und Unterschied zwischen Cookie und Sitzung

In vielen Fällen müssen wir die Aktivitäten von Besuchern auf der gesamten Website verfolgen und ihre Identität automatisch oder halbautomatisch identifizieren. (Das sind Funktionen wie die Website-Anmeldung, über die wir normalerweise sprechen.) Zur Verfolgung und Beurteilung verwenden wir derzeit häufig Cookies und Sitzungen.

Unterschied

Sitzungsinformationen werden auf der Serverseite gespeichert, aber die Sitzungs-ID wird im Client-Cookie gespeichert. Natürlich sind die Sitzungsspeichermethoden von PHP unterschiedlich, sodass sie auch dann nachverfolgt werden können Cookies sind deaktiviert

Cookies bleiben vollständig auf dem Client, wie zum Beispiel: IE Firefox Wenn der Client Cookies deaktiviert, können sie nicht mehr verwendet werden

2 >

Setcookie(String-Name, String-Wert, Int-Ablauf, String-Pfad, String-Domäne, Int-Secure);

wobei Name die Cookie-Variablennamen-ID ist. Sie können es verwenden, um Cookie-Variablen in PHP wie gewöhnlich zu referenzieren Variablennamen. value ist der Anfangswert der Cookie-Variablen; „peil“ stellt den relevanten Pfad der Cookie-Variablen dar; „secure“ ist nur gültig, wenn https sicher übertragen wird.

SetCookie("Cookie","cookievalue",time()+3600, "/forum",".php100.com", 1);

Cookie empfangen und verarbeiten
PHP für Cookie Die Unterstützung für den Empfang und die Verarbeitung ist sehr gut und erfolgt vollständig automatisch. Es entspricht dem Prinzip der FORM-Variablen und ist sehr einfach.
Wenn Sie beispielsweise ein Cookie mit dem Namen „MyCookie“ setzen, analysiert PHP es automatisch aus dem vom WEB-Server empfangenen HTTP-Header und bildet eine Variable wie eine gewöhnliche Variable mit dem Namen „$myCookie“. . Dasselbe gilt auch für Arrays. Eine andere Möglichkeit besteht darin, auf das globale Variable-Array $HTTP_COOKIE_VARS von PHP zu verweisen.
Beispiele sind wie folgt: (vorausgesetzt, diese wurden auf den vorherigen Seiten festgelegt und sind noch gültig)

echo $MyCookie;

echo $CookieArray[0];
echo $_COOKIE [" MyCookie"];
echo $HTTP_COOKIE_VARS["MyCookie"];
Cookie löschen

Um ein vorhandenes Cookie zu löschen, gibt es zwei Methoden:

1. SetCookie("Cookie ","");

2. SetCookie("Cookie", "value" ,time()-1 / time() );

Einschränkungen bei der Verwendung von Cookies

1. Es muss festgelegt werden, bevor der Inhalt der HTML-Datei ausgegeben wird.

2. Verschiedene Browser verarbeiten Cookies inkonsistent und es kommt manchmal zu falschen Ergebnissen.
3. Die Einschränkung liegt auf der Clientseite. Die maximale Anzahl von Cookies, die von einem Browser erstellt werden können, beträgt 30, und jedes Cookie darf 4 KB nicht überschreiten. Die Gesamtzahl der Cookies, die von jeder WEB-Site gesetzt werden können, darf 20 nicht überschreiten.

3. Sitzungskonfiguration und Anwendung

Code kopieren Der Code lautet wie folgt:

session_start(); $_SESSION[name]=value; Seeeion
echo $_SESSION[name]; //Use session
isset($_SESSION[name]); // Judge
unset($_SESSION[name] ]); //Löschen
session_destroy (); //Alle Sitzungen verbrauchen

Hinweis: session_register(), session_unregister, session_is_registered werden unter PHP5 nicht mehr verwendet

Cookies-Verwendungsbeispiele

if($_GET[' out'])

{ //Wird zum Abmelden von Cookies verwendet

setcookie('id',"");
setcookie('pass',""
echo "<script> location.href='login.php'</script>";//Da Cookies nicht rechtzeitig wirksam werden und erst bei erneuter Aktualisierung wirksam werden, lassen Sie die Seite daher nach dem Abmelden automatisch aktualisieren.
}

if($_POST['name']&&$_POST['password']) //Wenn die Variablen Benutzername und Passwort vorhanden sind, setzen Sie unten Cookies
{ //Wird zum Setzen von Cookies verwendet
setcookie( ' id',$_POST['name'],time()+3600);
setcookie('pass',$_POST['password'],time()+3600);
echo"< script> ;location.href='login.php'"; //Cookies rechtzeitig wirksam werden lassen
}
if($_COOKIE['id']&&$_COOKIE['pass'])
{ //Nachdem Cookies erfolgreich gesetzt wurden, werden Cookies angezeigt
echo „Anmeldung erfolgreich!
Benutzername: „.$_COOKIE['id'].“
Passwort : ".$_COOKIE['pass'];
echo "
";
echo "Cookies abmelden "; //Wenn innerhalb doppelter Anführungszeichen mehrere Anführungszeichen vorhanden sind, sind einfache Anführungszeichen erforderlich.
}

?>


Benutzer-ID:



Passwort:




Beispiel für die Sitzungsnutzung

<?php
//session用法实例
session_start();//启动session,必须放在第一句,否则会出错。
if($_GET[&#39;out&#39;])
{
     
    unset($_SESSION[&#39;id&#39;]);
    unset($_SESSION[&#39;pass&#39;]);
}
if($_POST[&#39;name&#39;]&&$_POST[&#39;password&#39;])
{   
   //用于设置session
    $_SESSION[&#39;id&#39;]=$_POST[&#39;name&#39;];
    $_SESSION[&#39;pass&#39;]=$_POST[&#39;password&#39;];
}
if($_SESSION[&#39;id&#39;]&&$_SESSION[&#39;pass&#39;])
{
    echo "登录成功!<br/>用户ID:".$_SESSION[&#39;id&#39;]."<br />用户密码:".$_SESSION[&#39;pass&#39;];
    echo "<br />";
    echo "<a href=&#39;login.php?out=out&#39;>注销session</a>";
}

?>
Nach dem Login kopieren


Benutzer-ID:


Passwort:





Das obige ist der detaillierte Inhalt vonDetaillierte Einführung in die Verwendung von Cookies und Sitzungen in PHP. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage