Als Cookies werden kurze Informationen bezeichnet, die der WWW-Server beim Client (Betrachter) hinterlassen kann. Se sind vor allem beim elektronischen Einkaufen im WWW von Bedeutung, genauer gesagt sind sie immer dann von Bedeutung, wenn der Server weitergehende Information vom Betrachter haben muß, als nur die Internet-Adresse, die eine Seite anfordert.
Cookies bestehen aus folgender Information:
Name: Name
Value: Wert
expires: Verfallsdatum
domain: Adressraum der Server, die das Cookie wieder lesen dürfen.
path: Nur über Seiten, die in diesem Verzeichnis, oder Unterverzeichnissen davon liegen, darf das Cookie angefordert werden.
secure: Wenn gesetzt, darf das Cookie nur über verschlüsselte Informationskanäle übertragen werden.
Beispiel: Wir wollen feststellen, ob ein Betrachter eine Seite schon einmal aufgerufen hat. Dazu setzen wir beim ersten Aufruf der Seite ein Cookie. Dies muß allerdings vor dem
HTML-Head geschehen, d.h. am Anfang der Datei. (Unbedingt auch die Ausgabe von Leerzeilen, -Zeichen vor diesem PHP-Teil vermeiden!)
<?
$t = time()+3600*24*10;
SetCookie("mycookie","Schon besucht",$t,"/test",".de");
?>
<
HTML>
...
Dieser Befehl setzt ein Cookie mit dem Namen mycookie auf den Wert "schon besucht" mit einem Verfallsdatum von 10 Tagen. Lesen darf dieses Cookie jeder Server mit der Endung .de, allerdings nur aus Dateien, die in einem Verzeichnis /test, oder Unterverzeichnissen davon liegen.
Das Verfallsdatum des Cookie muß in Sekunden seit dem 1. Januar 1970 angegeben werden. Die Funktion time() gibt die Sekunden seit dem 1. Januar 1970 der momentanen Zeit an. Weitere Datums- und Zeitfunktionen sind im Handbuch nachzulesen. Da die Berechnung der Sekunden nicht immer ganz übersichtlich ist, empfiehlt sich die Verwendung einer Funktion:
function tage ($anzahl) {
$sekunden = time()+ 3600 * 24 * $anzahl;
return $sekunden;
}
SetCookie("mycookie","Schon besucht",tage(10),"/test",".de");
Cookies lesen ist mit PHP wieder sehr einfach realisiert: Der Inhalt des Cookies ist in einer Variablen mit dem Namen des Cookies enthalten:
echo "$mycookie";
gibt also den Wert des Cookies aus, in unserem Fall den Text "Schon besucht".
Ein Server kann mit PHP ein Cookie wieder entfernen, indem lediglich der Befehl setcookie mit dem Namen des Cookies als Argument angegeben wird:
SetCookie("mycookie");