Heim >Backend-Entwicklung >PHP-Tutorial >PHP-Sitzungsverfolgung eins (41)

PHP-Sitzungsverfolgung eins (41)

WBOY
WBOYOriginal
2016-08-08 09:23:05903Durchsuche

PHP-Sitzungsverfolgung

Was ist Sitzungskontrolle?

Wir benötigen eine leistungsstarke Lösung, damit die Website die Sitzung zwischen dem Client und dem Server verfolgen und speichern kann und merken sich die Identität und Informationen jedes Benutzers und schaffen so eine Sitzungskontrolle.
??Was ist Sitzungskontrolle:
??HTTP ist ein zustandsloses Protokoll. Dieses Protokoll kann die Verbindung zwischen zwei Transaktionen nicht aufrechterhalten.
??Wenn ein Benutzer eine Seite anfordert und dann eine andere Seite anfordert, kann uns HTTP nicht mitteilen, dass die beiden Anforderungen von derselben Person stammen.
??Die Idee der Sitzungssteuerung besteht darin, eine Variable auf der Website verfolgen zu können. Durch die Verfolgung der Variablen können wir den Benutzer unterstützen und je nach Autorisierung und Benutzeridentität unterschiedliche Inhalte und Seiten anzeigen.

Sitzungsverfolgungstechnologie

Versteckte Formularfelder

Fügen Sie das ausgeblendete Formularfeld des Sitzungsverfolgungsfelds zur HTML-Seite hinzu, aber es wird im Client-Browser nicht angezeigt

<form action = &ldquo;main.php&rdquo;method=&rdquo;POST&rdquo;><input type = &ldquo;hidden&rdquo;name=&ldquo;checkid&rdquo;value=&ldquo;ZY7K&rdquo;></form><br>在GET 和POST 方法中指定用于存储有关会话消息的名称和值。

URL-Rewriting

?? Die URL-Rewriting-Technologie (Uniform Resource Location) fügt am Ende der URL eine eindeutige Sitzungs-ID hinzu um die Sitzung zu identifizieren.
??Schreiben Sie beispielsweise die folgende URL um und übergeben Sie die Sitzungs-ID=1002

原始URL:http:<span>//</span><span>www.myphp.com/load.php</span>用添加的参数重写的URL:http:<span>//</span><span> www.myphp.com/load.php? id=1002原始URL:</span><span>http://www.myphp.com/bookinfo.php</span>用添加的参数重写的URL:http:<span>//</span><span>www.myphp.com/bookinfo.php?bookid=1000</span>

Cookie und Sitzung

Wenn die Sitzung nachverfolgt werden muss Je größer die Reichweite, desto länger müssen wir Cookies und Sitzungen verwenden. Um beispielsweise Dinge von einigen Websites herunterzuladen, müssen sich Mitglieder zuerst anmelden. Was sollen wir tun, wenn wir wissen möchten, ob sich der Kunde angemeldet hat und sich automatisch anmelden kann? Sie können es durch Cookies und Sitzungen erkennen.
??Woher weiß der Warenkorb beispielsweise beim Online-Einkauf, welche Produkte der Kunde ausgewählt hat? Cookies und Sitzungen können ebenfalls aufgezeichnet werden.
??Kurz gesagt, Cookies und Sitzungen sind Technologien, die den Kundenstatus aufzeichnen können. Obwohl es sich um unterschiedliche Technologien handelt, können dies auch Sitzungen tun, solange Cookies dies können.

Cookie

Was ist ein Cookie:
??Cookie ist eine Möglichkeit für den Server oder das Skript, Clientinformationen unter dem http-Protokoll zu verwalten.
??Ein Cookie ist ein Cookie (eine kleine Textdatei), das vom Webserver im Browser des Benutzers gespeichert wird. Es kann Informationen über den Benutzer enthalten und wird häufig zum Speichern von Benutzernamen, Passwörtern, personalisierten Einstellungen und persönlichen Vorlieben verwendet. Aufzeichnungen usw. Wenn ein Benutzer auf den Server zugreift, kann der Server Cookie-Informationen festlegen und darauf zugreifen.
??Cookies werden im temporären Cookie-Ordner des Clients, normalerweise IE oder Firefox-Browser, gespeichert und können manuell gelöscht werden. Hinweis: Wenn zu viele Cookies im Browser vorhanden sind und den vom System zugelassenen Bereich überschreiten, löscht der Browser diese automatisch.

Wie Cookies funktionieren

Wenn ein Kunde eine Website besucht, die auf PHP-Technologie basiert, kann die Funktion setcookie() in PHP verwendet werden, um ein Cookie zu generieren, und das System sendet das Cookie an den Kunden nach der Verarbeitung und im C:Dokumente- und Einstellungen-Benutzername-Cookies-Verzeichnis gespeichert.
??Cookies sind Teil der HTTP-Header, daher muss die Funktion setcookie() aufgerufen werden, bevor Inhalte des HTML-Codes selbst an den Browser gesendet werden. Diese Einschränkung ist dieselbe wie bei der Funktion header() (wenn Sie die Funktion head() verstehen müssen, überprüfen Sie sie bitte selbst).
??Wenn der Kunde die Website erneut besucht, sendet der Browser automatisch das der Website entsprechende Cookie im Verzeichnis C:Dokumente und Einstellungen Benutzername Cookies an den Server, und der Server sendet automatisch das vom Client gesendete Cookie . in eine PHP-Variable. In PHP5 werden vom Client gesendete Cookies in globale Variablen umgewandelt. Sie können es über $_COOKIE[‘xxx’] lesen.

Cookie definieren

Cookie setzen:
?? Syntax: boolsetcookie(stringname,[stringvalue,[intexpire,[stringpath,[stringdomain,[intsecure]]]]]);
Diese Cookie-Funktion kann 6 Attribute haben und die häufig verwendeten haben 3 Parameter.
??Beispiel:
$value="der beste Weg ist allein";
setcookie("cookiename",$value,time() 60*60*24*7);

Erklärung der Setcookie-Parameter

Cookies empfangen und verarbeiten
PHP bietet eine gute Unterstützung für Cookies. Wie Formularformulare lädt PHP beim Empfang automatisch Cookies aus dem Internet herunter . Der Server empfängt den HTTP-Header und analysiert ihn. Verwenden Sie beim Empfang $_COOKIE["Cookiename"] oder $HTTP_COOKIE_VARS["Cookiename"] (nicht empfohlen)

Hinweis:
Wenn die Website mehrere verschiedene Dateiverzeichnisse hat, wenn Sie ein Cookie ohne verwenden Pfad: Auf das Cookie kann nur im Pfad der Datei zugegriffen werden, die das Cookie setzt. Wenn ein Pfad angegeben ist, wird der Pfad bei der Einstellung als angegebener Pfad für den Zugriff auf das Cookie verwendet.

Cookie-Array erstellen:

Eins:
setcookie("CookieArray[0]", "Value 1");
setcookie("CookieArray[1]", " Value 2");
Zweitens:
setcookie("CookieArray['one']", "Value 1");
setcookie("CookieArray['two']", "Value 2") ;

Array in setcookie() verwenden

<?<span>php
setcookie(</span><span>"</span><span>cookie[three]</span><span>"</span>, <span>"</span><span>cookiethree</span><span>"</span><span>);
setcookie(</span><span>"</span><span>cookie[two]</span><span>"</span>, <span>"</span><span>cookietwo</span><span>"</span><span>);
setcookie(</span><span>"</span><span>cookie[one]</span><span>"</span>, <span>"</span><span>cookieone</span><span>"</span><span>);
</span><span>//</span><span> 刷新页面后,显示出来</span><span>if</span> (isset($_COOKIE[<span>'</span><span>cookie</span><span>'</span><span>])) {
</span><span>foreach</span>($_COOKIE[<span>'</span><span>cookie</span><span>'</span>] <span>as</span> $name =><span> $value){
echo </span><span>"</span><span>$name : $value <br/>\n</span><span>"</span><span>;
}
}
</span>?>

Cookie löschen

Um ein vorhandenes Cookie zu löschen, gibt es zwei Möglichkeiten:
1. Rufen Sie setcookie nur mit dem Namensparameter auf, dann wird das Cookie mit dem Namen
vom Client gelöscht;
Setcookie("MyCookie "); //Delete MyCookie
2. Setzen Sie die Cookie-Ablaufzeit auf time() oder time()-1. Hinweis:
Es spielt keine Rolle, um wie viel time() reduziert wird, solange es läuft ab. Die Zeit reicht aus, dann
dann wird dieses Cookie gelöscht
nach dem Durchsuchen dieser Seite (eigentlich ist es ungültig).
??Zum Beispiel:
setcookie("MyCookie","Value",time()-1);
 //Delete MyCookie.
Hinweis: Wenn ein Cookie gelöscht wird, ist sein Wert weiterhin
auf der aktuellen Seite gültig. Wenn Sie das Cookie so einstellen möchten, dass es nach dem Schließen des Browsers abläuft.
Dann können Sie die Ablaufzeit direkt auf 0 setzen oder diesen Wert nicht festlegen.
Zum Beispiel: setcookie("name","value",0).

Cookie-Hinweise

1. Vor setcookie() dürfen keine Leerzeichen
gesetzt werden der HTML-Datei wird ausgegeben. ??2. Nach setcookie() erfolgt keine Ausgabe, wenn Sie echo $_COOKIE["name"] auf der aktuellen Seite aufrufen. Sie müssen die Seite aktualisieren oder zur nächsten Seite gehen, um den Cookie-Wert anzuzeigen.
•3. Es ist nicht erforderlich, dass Browser anders mit Cookies umgehen. Der Client kann Cookies deaktivieren und der Browser begrenzt auch die Anzahl der Cookies. Die maximale Anzahl von Cookies, die von einem Browser erstellt werden können, beträgt 300, 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.
??4. Cookies werden auf der Client-Seite gespeichert. Wenn der Benutzer Cookies deaktiviert, haben Ihre Cookies natürlich keine Wirkung! Vermeiden Sie daher eine übermäßige Abhängigkeit von Cookies und denken Sie für alle Fälle über Lösungen nach, falls Cookies deaktiviert sind

Das Obige stellt die PHP-Sitzungsverfolgung eins vor (41), einschließlich inhaltlicher Aspekte. Ich hoffe, dass es für Freunde hilfreich ist, die sich für PHP-Tutorials interessieren.

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