1. Cookie-Einführung
Cookies werden häufig zur Identifizierung von Benutzern verwendet. Cookies sind kleine Dateien, die ein Server auf dem Computer eines Benutzers hinterlässt. Immer wenn derselbe Computer eine Seite über den Browser anfordert, sendet er auch das Cookie. Mit PHP können Sie Cookie-Werte erstellen und abrufen.
1. Cookie setzen
PHP verwendet die SetCookie-Funktion, um Cookie zu setzen.
Die SetCookie-Funktion definiert ein Cookie und hängt es an das Ende des HTTP-Headers. Der Prototyp der SetCookie-Funktion lautet wie folgt:
int SetCookie (String-Name, String-Wert, int-Ablaufdatum, String-Pfad, String-Domäne, int-sicher);
Parameterbeschreibung: Cookie-Name, Cookie-Wert, Ablaufzeit (int), gültiger Pfad, eingeschränkter Domainname, https Es ist nur gültig, wenn es übergeben wird
Hinweis: Das aktuell gesetzte Cookie wird nicht sofort wirksam, ist aber erst auf der nächsten Seite sichtbar. Dies liegt am Cookie Wird vom Server auf dieser Seite festgelegt und an den Browser des Clients übergeben. Der Browser kann das Cookie vom Computer des Clients entfernen und auf der nächsten Seite an den Server zurücksenden.
Verwendungsbeispiel:
Normale Verwendung:
setcookie('name','PHP Huaibei');
Mit Ablaufzeit:
setcookie('name','PHP Huaibei',time() 24*60*60) ; //1Tag
Cookies sind pfadorientiert und werden standardmäßig unter der aktuellen Datei gespeichert. Wenn der Pfad nicht festgelegt ist, werden Cookies unter verschiedenen Dateien standardmäßig in verschiedenen Ordnern gespeichert, z In der Abbildung dargestellt: Standardmäßig im mytest-Ordner gespeichert
sss
2. Cookies empfangen und verarbeiten
Das Webkommunikationsprotokoll zwischen dem Client und dem Server ist http. Die drei am häufigsten verwendeten Methoden für PHP zum Abrufen von Benutzerdaten über http sind: POST-Methode, GET-Methode und Cookie. Die Standardbereitstellungsmethode von PHP ist Cookie, was auch die beste Methode ist.
Wenn Sie beispielsweise ein Cookie namens MyCookier setzen, analysiert PHP es automatisch anhand des vom WEB-Server empfangenen HTTP-Headers und bildet eine Variable namens $ myCookie, den Wert dieser Variablen ist der Wert von Cookie
3, Cookie löschen
Um ein vorhandenes Cookie zu löschen , es gibt zwei Möglichkeiten:
Rufen Sie zuerst SetCookie nur mit dem Namensparameter auf, dann wird das Cookie mit diesem Namen vom zugehörigen Computer gelöscht, zum Beispiel: setcookie(' name','');
Eine andere Möglichkeit besteht darin, die Cookie-Ablaufzeit auf time() oder time()-1 zu setzen, dann wird dieses Cookie nach dem Durchsuchen auf dieser Seite sein gelöscht (tatsächlich wurde es ungültig). Zum Beispiel: setcookie('name','PHP Huaibei',time()-24*60*60);
Es ist zu beachten, dass beim Löschen eines Cookies sein Wert im aktuell Die Seite ist noch gültig.
Hinweise zur Verwendung von Cookies:
Zuerst muss es gesetzt werden, bevor der Inhalt der HTML-Datei ausgegeben wird (Cookies sind Teil des HTTP Protokoll-Header und werden zum Durchsuchen verwendet. Informationen werden zwischen dem Server und dem Server weitergegeben, daher muss die Cookie-Funktion aufgerufen werden, bevor Inhalte ausgegeben werden, die zur HTML-Datei selbst gehören
Sie können
ob_start();//Öffnen
Code…..
ob_end_flush(); //Cache aktualisieren
kann Header-Prompt-Fehler verhindern
Verschiedene Browser haben unterschiedliche Verarbeitungsmechanismen für Cookies
Cookie-Einschränkungen gelten für den Endless-Client. 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.
Das aktuell gesetzte Cookie wird nicht sofort wirksam, ist aber erst auf der nächsten Seite sichtbar
2. Sitzungseinführung
Der Sitzungsmechanismus ist ein serverseitiger Mechanismus. Der Server verwendet eine Struktur ähnlich einer Hash-Tabelle (oder einer Hash-Tabelle), um Informationen zu speichern. die Sitzungs-ID, die auf zwei Arten gespeichert werden kann: entweder über die URL oder in den Cookies des Clients gespeichert. Natürlich können Sie die Sitzung auch in der Datenbank speichern, was sicherer ist, aber die Effizienz verringert. Die Sicherheit der .url-Übertragung ist definitiv zu gering. Der Sitzungsmechanismus von PHP besteht darin, ein Cookie zu setzen und die Sitzungs-ID (Sitzungs-ID) im Cookie zu speichern Die Anwendung speichert diese Sitzungen. Relevante Daten und werden zwischen Seiten übertragen.
PHP-bezogene Funktionen
Es gibt viele Funktionen im Zusammenhang mit Sitzungen in PHP, aber Es gibt nur wenige Funktionen, die wir am häufigsten verwenden:
session_start(): Aktivieren Sie den Sitzungsmechanismus und rufen Sie ihn am Anfang der Programmdatei auf, die die Sitzung verwenden muss
session_register(): Sitzungsvariablen registrieren
session_unregister(): Sitzungsvariablen löschen (einzeln)
session_is_registered(): Bestimmen Sie, ob die Sitzungsvariable registriert ist
session_distroy(): Zerstören Sie alle Sitzungsvariablen (alle Sitzungsvariablen werden zerstört, einschließlich Dateien)
Sie müssen auf folgende Aspekte achten:
1. Die Funktion session_start() muss am Anfang des Programms ausgeführt werden und darf nicht vorhanden sein Geben Sie den Inhalt davor aus, andernfalls
Eine Warnmeldung ähnlich dieser wird angezeigt: „Warnung: Session-Cookie kann nicht gesendet werden – Header bereits
gesendet".
2. Die Funktion session_register() wird verwendet, um relevante Variablen zu registrieren, die in der Sitzung gespeichert werden sollen. Ihre Verwendung ist wie folgt:
$val = "session value";
session_register("val");
?>
val ist der Name der zu registrierenden Sitzungsvariablen. Fügen Sie bei der Registrierung nicht das Symbol „$“ hinzu, sondern schreiben Sie einfach das Variablenname.
3. Die Funktion session_unregister () hat genau die gleiche Verwendung wie die obige Funktion, hat jedoch die entgegengesetzte Funktion. Die obige Funktion registriert die
Sitzungsvariable, während die angegebene Sitzungsvariable gelöscht wird
4. Die Funktion session_is_registered() wird verwendet, um zu bestimmen, ob die Sitzungsvariable registriert ist.
5. Die Funktion session_destroy() wird hauptsächlich verwendet, um alle Sitzungen zu zerstören, wenn sich das System abmeldet und beendet. Variable, sie hat keine Parameter, ruft sie einfach direkt auf.
Konfiguration der Beziehung zwischen Session und PHP.ini
1, session.save_handler = file
Methode zum Lesen/Rückschreiben von Sitzungsdaten, standardmäßig sind Dateien. Dadurch verwendet die Sitzungsverwaltungsfunktion von PHP die angegebene Textdatei zum Speichern von Sitzungsdaten
2, session.save_path = "/xammp/temp/"
Geben Sie das Verzeichnis zum Speichern der Sitzungsdatei an. Sie können ein anderes Verzeichnis angeben, aber das angegebene Verzeichnis muss über Schreibberechtigungen vom httpd-Daemon-Eigentümer verfügen (z. B. Apache). oder www usw.). Andernfalls können die Sitzungsdaten nicht zurückgespeichert werden. Es kann auch wie folgt geschrieben werden: session.save_path = "N;/path", wobei N eine ganze Zahl ist. Dies bedeutet, dass nicht alle Sitzungsdateien im selben Verzeichnis gespeichert werden, sondern in verschiedenen Verzeichnissen verstreut sind. Dies ist hilfreich, wenn der Server eine große Anzahl von Sitzungsdateien verarbeitet. (Hinweis: Das Verzeichnis muss manuell erstellt werden)
3, session.auto_start = 0
Wenn diese Option aktiviert ist, wird die Sitzung für jede Benutzeranfrage initialisiert. Nicht empfohlen. Es ist besser, die Sitzung explizit über session_start() zu initialisieren.
QQ-Screenshot 20111115173320
Bild oben: Die linke Seite ist in xammp/ gespeichert tmp Die Sitzungsdatei unter /, der Inhalt hat das Format der PHP-Serialisierung
Auf der rechten Seite: Die erste Zeile lautet echo serialize($_SESSION['name']);/ /Serialisierung
Die zweite Zeile gibt den Sitzungswert aus
********************, wobei der Dateiname session- ist. Name, Der Inhalt ist im PHP-serialisierten Format
Quelle: http://www.cnblogs.com/phphuaibei/archive/2011/11/15/2250082.html
Das Obige hat die Beziehung und die Unterschiede zwischen COOKIE und SESSION vorgestellt, einschließlich der relevanten Aspekte. Ich hoffe, es wird für Freunde hilfreich sein, die sich für PHP-Tutorials interessieren.