PHP setcookie()Funktionen
Vollständiges PHP HTTP-Referenzhandbuch
Definition und Verwendung
Die Funktion setcookie() sendet ein HTTP-Cookie an den Client.
Ein Cookie ist eine Variable, die vom Server an den Browser gesendet wird. Ein Cookie ist normalerweise eine kleine Textdatei, die der Server auf dem Computer des Benutzers speichert. Dieses Cookie wird gesendet, wann immer derselbe Computer eine Seite über einen Browser anfordert.
Ein Cookie wird automatisch einer Variable mit demselben Namen zugewiesen. Wenn beispielsweise ein Cookie namens "user" gesendet wird, wird automatisch eine Variable namens $user erstellt, die den Wert des Cookies enthält.
Das Cookie muss gesetzt werden, bevor eine andere Ausgabe an den Client gesendet wird.
Gibt bei Erfolg TRUE zurück, bei Fehlschlag FALSE.
Syntax
| Parameters | Beschreibung |
|---|---|
| name | Erforderlich. Gibt den Namen des Cookies an. |
| value | Erforderlich. Gibt den Wert des Cookies an. |
| expire | Optional. Gibt die Ablaufzeit des Cookies an. time()+3600*24*30 legt fest, dass das Cookie in 30 Tagen abläuft. Wenn dieser Parameter nicht gesetzt ist, läuft das Cookie automatisch ab, wenn die Sitzung endet (d. h. wenn der Browser geschlossen wird). |
| path | Optional. Gibt den Serverpfad des Cookies an. Wenn der Pfad auf "/" gesetzt ist, ist das Cookie in der gesamten Domäne gültig. Wenn der Pfad auf "/test/" gesetzt ist, ist das Cookie im Testverzeichnis und in allen seinen Unterverzeichnissen gültig. Der Standardwert für den Pfad ist das aktuelle Verzeichnis, in dem sich das Cookie befindet. |
| domain | Optional. Gibt die Domäne des Cookies an. Damit das Cookie in allen Subdomains von example.com gültig ist, müssen Sie die Domäne des Cookies auf ".example.com" setzen. Wenn Sie die Domäne des Cookies auf www.example.com setzen, ist das Cookie nur in der Subdomain www gültig. |
| secure | Optional. Gibt an, ob eine sichere HTTPS-Verbindung erforderlich ist, um das Cookie zu übertragen. Setzen Sie auf TRUE, wenn das Cookie über eine sichere HTTPS-Verbindung übertragen werden muss. Standard ist FALSE. |
Tipps und Hinweise
Tipp:Sie können auf den Wert eines Cookies mit dem Namen "user" über $HTTP_COOKIE_VARS["user"] oder $_COOKIE["user"] zugreifen.
Hinweis:Beim Senden eines Cookies wird der Wert des Cookies automatisch URL-kodiert. Beim Empfangen wird er automatisch URL-dekodiert. Wenn Sie das nicht benötigen, können Sie stattdessen setrawcookie() verwenden.
Beispiel 1
Cookie setzen und senden:
$value = "my cookie value";
// einen einfachen Cookie senden
setcookie("TestCookie",$value);
?>
<html>
<body>
...
...
$value = "my cookie value";
// einen Cookie senden, der in 24 Stunden abläuft
setcookie("TestCookie",$value, time()+3600*24);
?>
<html>
<body>
...
...
Beispiel 2
Verschiedene Möglichkeiten, einen Cookie-Wert abzurufen (nachdem der Cookie gesetzt wurde):
<body>
<?php
// einzelne Cookies ausgeben
echo $_COOKIE["TestCookie"];
echo "<br />";
echo $HTTP_COOKIE_VARS["TestCookie"];
echo "<br />";
// alle Cookies ausgeben
print_r($_COOKIE);
?>
</body>
</html>
Der obige Code gibt Folgendes aus:
mein Cookie-Wert
Array ([TestCookie] => mein Cookie-Wert)
Beispiel 3
Löschen Sie ein Cookie, indem Sie sein Ablaufdatum auf ein vergangenes Datum/eine vergangene Uhrzeit setzen:
// Setze das Ablaufdatum auf eine Stunde zuvor
setcookie ("TestCookie", "", time() - 3600);
?>
<html>
<body>
...
...
Beispiel 4
Ein Array-Cookie erstellen:
setcookie("cookie[three]","cookiethree");
setcookie("cookie[two]","cookietwo");
setcookie("cookie[one]","cookieone");
// Cookies ausgeben (nach dem Neuladen der Seite)
if (isset($_COOKIE["cookie"]))
{
foreach ($_COOKIE["cookie"] as $name => $value)
{
echo "$name : $value <br />";
}
}
?>
<html>
<body>
...
...
Der obige Code gibt Folgendes aus:
two : cookietwo
one : cookieone
Vollständiges PHP-HTTP-Referenzhandbuch Weitere Erweiterungen