English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
In diesem Tutorial werden Sie lernen, wie Sie PHP-Cookies verwenden, um eine kleine Menge an Informationen im Browser des Benutzers zu speichern.
Ein Cookie ist eine kleine Textdatei, die es Ihnen ermöglicht, eine geringe Menge an Daten (bis zu4KB (ca.). Sie werden oft verwendet, um Informationen wie den Benutzernamen zu verfolgen, wenn der Benutzer die Website下次 besucht, kann die Website diese Informationen abrufen, um eine spezifische personalisierte Seite anzuzeigen.
Hinweis:Bei jeder Anfrage des Browsers an den Server werden alle Daten im Cookie automatisch in die Anfrage eingebettet.
Die Funktion setcookie() wird verwendet, um Cookies in PHP zu setzen. Stellen Sie sicher, dass die Funktion setcookie() vor jeder Ausgabe, die von dem Skript generiert wird, aufgerufen wird, anderenfalls wird der Cookie nicht gesetzt. Die Grundsyntax der Funktion kann wie folgt angegeben werden:
setcookie(name, value, expire, path, domain, secure);
Die Parameter der Funktion setcookie() haben die folgenden Bedeutungen:
Parameter | Beschreibung |
---|---|
name | Der Name des Cookies. |
value | Der Wert des Cookies. Da dieser Wert auf dem Computer des Benutzers gespeichert wird, sollten keine sensiblen Informationen gespeichert werden. |
expires | UNIX-Timestamp-Format der Ablaufzeit. Nach diesem Datum wird der Cookie nicht mehr zugänglich. Der Standardwert ist 0 |
path | Geben Sie auf dem Server den Pfad an, auf dem der Cookie verfügbar ist. Wenn er auf/, dann ist der Cookie im gesamten Domänenbereich verfügbar. |
domain | Geben Sie das Domain, für die der Cookie verfügbar ist, an, z.B.: de.oldtoolbag.com. |
secure | Dieses Feld (wenn vorhanden) zeigt an, dass der Cookie nur bei sicheren HTTPS-Verbindungen gesendet wird. |
Hinweis:Wenn die Ablaufzeit des Cookies auf 0 oder ausgelassen wird, läuft der Cookie ab, wenn die Sitzung endet, d.h. wenn der Browser geschlossen wird.
Hier ist ein Beispiel, wie die Funktion setcookie() verwendet wird, um einen Cookie namens userName zu erstellen und ihm den Wert John Carter zuzuweisen. Gleichzeitig wird die Ablaufzeit des Cookies angegeben.30 Tage (30 Tage * 24 Stunden * 60 min * 60 sec).
<?php //Cookie setzen setcookie("username", "John Carter", time())+30*24*60*60); ?>
Beachten Sie:Alle Parameter außer dem Namen sind optional. Sie können auch einen leeren String ("") verwenden, um einen Parameter zu überspringen, aber um den expire-Parameter zu überspringen, verwenden Sie Null, da es ein Integer ist.
Warnung:Speichern Sie keine sensiblen Daten in Cookies, da böswillige Benutzer sensible Daten manipulieren könnten. Verwenden Sie stattdessenSession.
Das PHP-Global-Variablen $_COOKIE wird verwendet, um Cookie-Werte abzurufen. Es ist normalerweise ein verknüpftes Array, das alle Cookie-Werte enthält, die der Browser im aktuellen Anforderungsprozess gesendet hat, und die mit Cookie-Namen als Schlüssel. Sie können den Wert eines einzelnen Cookies mit Standard-Array-Symbolen abrufen, z.B. um den in dem obigen Beispiel gesetzten Benutzernamen-Cookie anzuzeigen, können Sie den folgenden Code verwenden.
<?php //Einzelnen Cookie-Wert abrufen echo $_COOKIE["username"]; ?>
Das PHP-Codebeispiel oben ergibt folgenden Ausgang.
John Carter
Überprüfen Sie am besten, ob der Cookie bereits gesetzt wurde, bevor Sie den Wert des Cookies abrufen. Dafür können Sie die PHP isset() -Funktion wie folgt verwenden:
<?php //Überprüfen Sie, ob der Cookie gesetzt wurde if (isset($_COOKIE["username"])) { echo "Hi " . $_COOKIE["username"]; } else { echo "Welcome Guest!"; } ?>
Sie können die print_r() -Funktion wie print_r($_cookie) verwenden, um die Struktur des $_cookie -Verknüpfungsarrays anzuzeigen, genau wie Sie andere Arrays verarbeiten.
Sie können denselben setcookie() -Funktion aufrufen, um einen Cookie zu löschen, indem Sie den Cookie-Namen und jeden Wert (z.B. eine leere Zeichenfolge) verwenden, aber Sie müssen das Ablaufdatum auf ein Datum vor der aktuellen Zeit setzen, wie im folgenden Beispiel gezeigt:
<?php //Cookie löschen setcookie("username", "", time())-3600); ?>
Hinweis:Sie sollten den Namen übergeben, der bei der ersten Erstellung des Cookies verwendet wurde, einschließlich des Pfades, der Domäne und anderer Parameter, um sicherzustellen, dass der richtige Cookie gelöscht wird.