PHP setrawcookie()Funktionen


PHP HTTP 参考手册Vollständiges PHP HTTP-Referenzhandbuch

Definition und Verwendung

Die Funktion setrawcookie() sendet ein HTTP-Cookie, ohne den Cookie-Wert URL zu kodieren.

Ein Cookie ist eine Variable, die vom Server an den Browser gesendet wird. Ein Cookie ist normalerweise eine kleine Textdatei, die der Server in den Computer des Benutzers einbettet. Dieses Cookie wird gesendet, wann immer derselbe Computer über einen Browser eine Seite anfordert.

Der Name des Cookies wird automatisch als 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 zugewiesen werden, bevor eine andere Ausgabe an den Client gesendet wird.

Gibt bei Erfolg TRUE zurück, bei Fehlschlag FALSE.

Syntax

setrawcookie(name,value,expire,path,domain,secure)

Parameter 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, funktioniert das Cookie innerhalb der gesamten Domain. Wenn der Pfad auf "/test/" gesetzt ist, funktioniert das Cookie im test-Verzeichnis und allen seinen Unterverzeichnissen. 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 funktioniert, müssen Sie die Domain des Cookies auf ".example.com" setzen. Wenn Sie die Domain des Cookies auf www.example.com setzen, funktioniert das Cookie nur in der www-Subdomain.

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:Die Funktion setrawcookie() ist fast identisch mit der Funktion setcookie(), außer dass sie den Cookie-Wert beim Senden an den Client nicht automatisch URL-kodiert.


Beispiel 1

Cookie setzen und senden:

<?php
$value = "my cookie value";

// einen einfachen Cookie senden
setrawcookie("TestCookie",$value);
?>

<html>
<body>

...
...

<?php
$value = "my cookie value";

// einen Cookie senden, der in 24 Stunden abläuft
setrawcookie("TestCookie",$value, time()+3600*24);
?>

<html>
<body>

...
...


Beispiel 2

Verschiedene Möglichkeiten, einen Cookie-Wert abzurufen (nachdem der Cookie gesetzt wurde):

<html>
<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
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:

<?php
// Setze das Ablaufdatum auf eine Stunde zuvor
setrawcookie ("TestCookie", "", time() - 3600);
?>

<html>
<body>

...
...


Beispiel 4

Ein Array-Cookie erstellen:

<?php
setrawcookie("cookie[three]","cookiethree");
setrawcookie("cookie[two]","cookietwo");
setrawcookie("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:

three : cookiethree
two : cookietwo
one : cookieone


PHP HTTP 参考手册Vollständiges PHP-HTTP-Referenzhandbuch Weitere Erweiterungen