PHP -Cookies
Was ist ein Cookie?
Ein Cookie wird häufig verwendet, um einen Benutzer zu identifizieren. Ein Cookie ist eine kleine Datei, die der Server auf dem Computer des Benutzers einbettet. Jedes Mal, wenn derselbe Computer eine Seite mit einem Browser anfordert, sendet er auch das Cookie. Mit PHP können Sie Cookie-Werte sowohl erstellen als auch abrufen.
Erstellen Sie Cookies mit PHP
Mit der setcookie()
Funktion wird ein Cookie erstellt.
Syntax
setcookie(name, value, expire, path, domain, secure, httponly);
Nur der Namensparameter ist erforderlich. Alle anderen Parameter sind optional.
PHP Cookie erstellen/abrufen
Das folgende Beispiel erstellt ein Cookie namens „user“ mit dem Wert „John Doe“. Das Cookie läuft nach 30 Tagen ab (86400 * 30). Das „/“ bedeutet, dass das Cookie auf der gesamten Website verfügbar ist (ansonsten wählen Sie das gewünschte Verzeichnis aus).
Wir rufen dann den Wert des Cookies „Benutzer“ ab (unter Verwendung der globalen Variable $_COOKIE). Wir verwenden auch die isset()
Funktion, um festzustellen, ob das Cookie gesetzt wird:
Beispiel
<?php
$cookie_name = "user";
$cookie_value = "John Doe";
setcookie($cookie_name, $cookie_value, time() + (86400 * 30), "/"); // 86400 = 1 day
?>
<html>
<body>
<?php
if(!isset($_COOKIE[$cookie_name])) {
echo "Cookie named '" . $cookie_name . "' is not set!";
} else {
echo "Cookie '" . $cookie_name . "' is set!<br>";
echo "Value is: " . $_COOKIE[$cookie_name];
}
?>
</body>
</html>
Hinweis: Diesetcookie()
Funktion muss VOR dem <html>-Tag stehen.
Hinweis: Der Wert des Cookies wird beim Senden des Cookies automatisch URL-kodiert und beim Empfang automatisch dekodiert (um URL-Kodierung zu verhindern, verwenden Sie setrawcookie()
stattdessen).
Ändern Sie einen Cookie-Wert
Um ein Cookie zu ändern, setzen Sie das Cookie einfach (erneut) mit der setcookie()
Funktion:
Beispiel
<?php
$cookie_name = "user";
$cookie_value = "Alex Porter";
setcookie($cookie_name, $cookie_value, time() + (86400 * 30), "/");
?>
<html>
<body>
<?php
if(!isset($_COOKIE[$cookie_name])) {
echo "Cookie named '" . $cookie_name . "' is not set!";
} else {
echo "Cookie '" . $cookie_name . "' is set!<br>";
echo "Value is: " . $_COOKIE[$cookie_name];
}
?>
</body>
</html>
Löschen Sie ein Cookie
Um ein Cookie zu löschen, verwenden Sie die setcookie()
Funktion mit Ablaufdatum in der Vergangenheit:
Beispiel
<?php
// set the expiration date to one hour ago
setcookie("user", "", time() - 3600);
?>
<html>
<body>
<?php
echo "Cookie 'user' is deleted.";
?>
</body>
</html>
Überprüfen Sie, ob Cookies aktiviert sind
Das folgende Beispiel erstellt ein kleines Skript, das überprüft, ob Cookies aktiviert sind. Versuchen Sie zunächst, mit der Funktion ein Test-Cookie zu erstellen setcookie()
, und zählen Sie dann die Array-Variable $_COOKIE:
Beispiel
<?php
setcookie("test_cookie", "test", time() + 3600, '/');
?>
<html>
<body>
<?php
if(count($_COOKIE) > 0) {
echo "Cookies are enabled.";
} else {
echo "Cookies are disabled.";
}
?>
</body>
</html>
Vollständige PHP-Netzwerkreferenz
Eine vollständige Referenz der Netzwerkfunktionen finden Sie in unserer vollständigen PHP-Netzwerkreferenz .