Weiter Zurück [Inhalt] Online Suche im Handbuch

39.22 Cookies - Mechanismen

Als Cookies werden kurze Informationen bezeichnet, die über den Browser auf die Festplatte des Clients abgelegt werden. 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. Dem Sender von Cookies ist es so möglich, zu erfahren, welche Internet-Seiten Sie besucht haben, welche Waren im Warenkorb liegen, u.s.w. Eine Firewall verhindert nicht unbedingt, daß Cookies auf Ihrer Festplatte landen.

Cookies bestehen aus folgenden Informationen:


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-Kopf geschehen, d.h. am Anfang der Datei.

<?
        $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, wie übrigens alle UNIXe von dem 1. Januar 1970 an hochzählen. Weitere Datums- und Zeitfunktionen sind im Handbuch im Kapitel Datum/Zeit-Funktionen 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 3 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 3 ein Cookie wieder entfernen, indem lediglich der Befehl setcookie mit dem Namen des Cookies als Argument angegeben wird:


        SetCookie("mycookie");

Variable Variable

Beim Auslesen von Arrays in Formularen gibt es einige Tricks, die man kennen muß. In manchen Fällen will man Schleifen über eine Menge von Variablen laufen lassen. Zum Beispiel wenn man viele Eingabefelder in einem Formular hat:


        <INPUT NAME="feld0" >
        <INPUT NAME="feld1" >
        <INPUT NAME="feld2" >
        ...
        <INPUT NAME="feld99" >

Nun ist es sehr mühsam, alle Felder einzeln zu behandeln. Will man z.B. einfach den Inhalt aller Eingabefelder ausgeben, so kann man statt:


        echo "feld0: $feld0 <BR>\n";
        echo "feld1: $feld1 <BR>\n";
        ...
        echo "feld99: $feld99 <BR>\n";

auch folgendermaßen vorgehen. Wir basteln uns den jeweiligen Variablennamen mit Hilfe der o.a. Stringfunktionen:

 

        for ($i=0;$i<100;$i++) {
                $v = "feld".$i;
                echo "$v: $$v \n";
        }

Mit einem $v erhalten wir den Variablennamen, mit $$v greifen wir auf den Inhalt der Variablen mit dem Namen $v zu.


Weiter Zurück [Inhalt] Online Suche im Handbuch