Heim >Backend-Entwicklung >PHP-Tutorial >Sitzungssteuerung in PHP
Der Inhalt dieses Artikels besteht darin, die Zeichensteuerung in PHP mit Ihnen zu teilen. Freunde in Not können sich darauf beziehen
HTTP-Protokoll ist die gegenseitige Kommunikation zwischen WEB-Server und Das Browserprotokoll ist ein zustandsloses Protokoll, d. h. jede HTTP-Anfrage ist unabhängig voneinander. Daher verfügt das HTTP-Protokoll nicht über einen integrierten Mechanismus zur Aufrechterhaltung des Status zwischen zwei Transaktionen. Wenn ein Benutzer beispielsweise eine Seite anfordert und dann eine andere Seite anfordert, kann HTTP uns nicht mitteilen, ob die beiden Anforderungen vom selben Benutzer stammen.
Auf Websites müssen wir häufig eine Variable verfolgen: Durch die Verfolgung von Variablen können wir Verbindungen zwischen mehreren Anforderungsdingen herstellen und dann je nach Autorisierung und Benutzeridentität unterschiedliche Inhalte und unterschiedliche Seiten anzeigen. Dies ist Sitzungskontrolltechnologie.
Häufig verwendete Sitzungskontrolltechniken sind Cookie
und Session
. Einfach ausgedrückt: Cookie bestimmt die Identität des Benutzers durch die Aufzeichnung von Informationen auf der Clientseite; Session bestimmt die Identität des Benutzers durch die Aufzeichnung von Informationen auf der Serverseite.
Cookie ist eine kleine Textdatei, die in der HTTP-Anfragenachricht enthalten ist und zwischen dem Webserver und dem Browser weitergeleitet wird. Das Funktionsprinzip von Cookies ist wie folgt:
Der Server legt ein Set-Cookie
-Feld in der HTTP-Antwortnachricht fest und fügt die Cookie-Daten zusammen mit der HTTP-Nachricht in das Feld Set-Cookie
ein . Zum Browser;
Nach dem Empfang der HTTP-Antwortnachricht prüft der Browser, ob das Feld Set-Cookie
einen Wert hat und erstellt lokal eine Cookie-Datei, um die Daten zu speichern; >
<?php setcookie("Cookie", "cookievalue", time()+3600);setcookie() muss aufgerufen werden, bevor der Inhalt der HTML-Datei ausgegeben wirdReceive
<?php echo $_COOKIE["Cookie"];Delete
<?php #方法一:将值设为空 setcookie("Cookie", null); #方法二:将过期时间设为过去时间 setcookie("Cookie", "value" , time());SessionSitzung Es handelt sich um eine Methode zur Verwaltung von Benutzersitzungsdaten auf der Serverseite. Sie funktioniert wie folgt:
Die Funktion erstellt eine eindeutige Sitzungs-ID (jeder Client verfügt über eine eindeutige Identifikation) und speichert diese Sitzungs-ID automatisch über den HTTP-Antwortheader im Client-Cookie. Gleichzeitig wird auf der Serverseite auch eine Datei mit dem Namen Sitzungs-ID erstellt, um die Sitzungsinformationen des Benutzers zu speichern. seesion_start()
keine neue Sitzungs-ID zu, sondern um die Sitzungsdatei mit demselben Namen wie die Sitzungs-ID auf der Festplatte des Servers zu finden und die zuvor für diesen Benutzer gespeicherten Sitzungsinformationen auszulesen. session_start()
(der Wert von session.name kann über php.ini geändert werden. Wenn der Client Cookies deaktiviert, kann er angeben, dass die Sitzungs-ID über übertragen wird). GET (ändern Sie PHPSESSID
und andere Parameter in php.ini). Zweitens wird die Sitzung in Form einer Datei gespeichert. Es gibt ein Konfigurationselement session.use_trans_sid
in php.ini. Der ausgefüllte Pfad speichert alle Sitzungsdateien. Das Benennungsformat von Sitzungsdateien ist: --session.save_path= ""
. Jede Datei speichert die Daten einer Sitzung. Schließlich werden die in der Sitzungsdatei gespeicherten Daten serialisiert, z. B.: sess_[PHPSESSID的值]
cityID|i:0;cityName|s:3:"all";fanwe_lang|s:5:"zh-cn";fanwe_currency|a:4:{s:2:"id";s:1:"1";s:6:"name_1";s:9:"人民币";s:4:"unit";s:3:"¥";s:5:"radio";s:6:"1.0000";}_fanwe_hash__|s:32:"77c18770c6cb5d89444c407aaa3e8477";Sitzung kann auch zum Speichern einiger einfacher Informationen wie Benutzername, Kennwort, personalisierte Einstellungen usw. verwendet werden. Das Folgende ist Sitzung Gebrauchsanweisung: Erstellen
//启动 session session_start(); //注册session变量,赋值为一个用户的名称 $_SESSION["username"] = "jochen"; //注册session变量,赋值为一个用户的ID $_SESSION["uid"] = 1;Hinweis: session_start() muss aufgerufen werden, bevor der Inhalt der HTML-Datei ausgegeben wird Lesen
<?php session_start(); echo $_SESSION["username"]; # # jochen echo $_SESSION["uid"]; # 1Zerstören
<?php session_start(); unset($_SESSION["username"]); unset($_SESSION["uid"]);Es ist zu beachten, dass bei vielen Sitzungsdateien Probleme mit der I/Q-Lese- und Schreibleistung auftreten. Derzeit können Caching-Systeme wie Memcached und Redis verwendet werden. Verwandte Empfehlungen:
Das obige ist der detaillierte Inhalt vonSitzungssteuerung in PHP. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!