PHP 5.4 & MySQL 5.6 Grundkurs

Cookies setzen

Testen Sie unsere 1957 Kurse

10 Tage kostenlos!

Jetzt testen Alle Abonnements anzeigen
Manchmal ist es wichtig, dass ein Browser wiedererkennt, dass der Benutzer eine bestimmte Website bereits einmal geöffnet hat. Wie das geht und wie Sie die in Cookies gespeicherten Informationen wieder auslesen, zeigt dieses Video.

Transkript

Manchmal brauchen Sie Möglichkeiten, wiederzuerkennen, dass ein bestimmter Browser schon einmal eine Seite angefordert hat. Beispielsweise, um die Benutzer persönlich zu begrüßen, oder auch für eine Warenkorb-Funktionalität. Und für so etwas können Sie Cookies benutzen. Das Protokoll, über das die Daten ausgetauscht werden, zwischen client und Server, heißt HTTP. Und man spricht davon, dass das Protokoll statuslos ist. Das heißt, wenn ein Browser verschiedene Webseiten anfordert, dass sich der Server nicht merkt, dass der Browser bereits bestimmte Seiten angefordert hat. Wie dieses Protokoll funktioniert, können Sie gut mit einer Firefox Erweiterung sehen, die ich hier geöffnet habe, die heißt Live HTTP headers. Und da sehen Sie. wie die Kommunikation im Internet abläuft. Ich habe eben schon einmal die Seite php.net aufgerufen. Sie sehen hier, der client, das heißt, der Browser, schickt dann diese Anfrage nach dieser Webseite. Und er schickt ein paar Informationen mit. Beispielsweise schickt er mit, was für ein Browser er ist und mit welchen Formaten er umgehen kann. Dann antwortet der Webserver. Er schickt eine Antwort header mit allgemeinen Informationen. Und im body seiner Antwort kommt dann das eigentliche Dokument. Also, das ist diese Kommunikation im Prinzip per HTTP. Aber wie gesagt, es ist normalerweise so, dass der Webserver sich nicht merkt, dass ein bestimmter Benutzer, also ein bestimmter Browser, ein bestimmter client auf einer Webseite schon einmal war. Und dafür braucht man dann jetzt die Cookies. Cookies sind kleine Textdateien. Und wir können im Browser uns auch anschauen, wie diese aussehen. Ich bin hier im Firefox, und wenn ich gehe über Extras Einstellungen, dann gibt es diesen Punkt Datenschutz. Und wenn ich jetzt hier bei Chronik sage, Firefox wird eine Chronik nach benutzerdefinierten Einstellungen anlegen, dann habe ich diese Einstellungen für die Cookies. Kann jetzt hier einmal sagen, Cookies anzeigen. Und Sie sehen da sind ganz viele Cookies. Mich interessieren mal die Cookies, die php.net sendet und ja, hier habe ich sie auch schon. php.net, also die Webseite von PHP setzt ein Cookie mit dem Namen LAST_LANG. Das war jetzt wohl, zuletzt verwendete Sprache und setzt das auf einen bestimmten Wert, das heißt, auf meiner Festplatte gibt es eine kleine Textdatei mit diesen Informationen. Und diese kleine Textdatei, die gesetzt wird, die nennt man Cookies. Sie sehen, hier kann ich die Cookies natürlich auch entfernen im Firefox, das ist praktisch, wenn man mit PHP Cookies setzt. Manchmal möchte man testweise dann auch die entfernen, um wieder zu schauen was passiert, wenn man die auf einen neuen Wert setzt. So, jetzt schließe ich das hier einmal und gehe jetzt zu der Funktion, die PHP zum Setzen von Cookies bereitstellt. Diese heißt setcookie und erwartet verschiedene Parameter, die wir uns einmal anschauen. So, also die Parameter. Der erste Parameter, den Sie bei setcookie angeben müssen, ist der Name des Cookies. Dann geben Sie beim Cookie als zweiten Parameter an, den Wert. Dann geben Sie außerdem noch das Verfallsdatum an in Form eines Zeitstempels. Schließlich können Sie noch einen Pfad angeben. Standardmäßig gilt das Cookie nur für den Unterordner, in dem das Skript steht, das das Cookie gesetzt hat. Das können Sie hier über diese Pfadangabe ändern. Wenn Sie zum Beispiel einfach nur ein Slash schreiben, dann gilt das Cookie für die gesamte Domain. Dann schließlich können Sie als Parameter noch Domain schreiben. Die bezeichnet die Domain für die das Cookie gilt. Das ist nur wichtig, wenn Sie mit Subdomains arbeiten. Schließlich können Sie über secure festlegen, dass das Cookie nur über HTTPS versendet werden soll. Dann würden Sie hier true angeben. Außerdem gibt es noch den Parameter httponly. Darüber können Sie festlegen, dass das Cookie nur über HTTP-Protokoll ausgelesen wird. Schauen wir uns dann ein einfaches Beispiel an, wie wir ein Cookie wirklich setzen per PHP, und sehen wir uns dann auch an, wie wir es wieder lesen. Ich habe jetzt hier ein Beispiel zum Cookie setzen. Sie sehen hier mein HTML-Dokument und da verwende ich jetzt den Befehl setcookie. Setze also ein Cookie. Das erste Cookie heißt "name" und hat den Wert "Marie". Und außerdem bestimme ich hierüber das Verfallsdatum. Im Beispiel ist das Verfallsdatum 2 Stunden. time liefert mir den aktuellen timestamp und zu den tue ich 7200 Sekunden dazu addieren, das sind 2 Stunden. Außerdem setze ich ein zweites Cookie, was "farbe" heißt, den wert "rot" hat und ebenfalls 2 Stunden lang gültig sein soll. In diesem Beispiel sehen Sie außerdem, dass es einen Link gibt, auf die Datei cookie_auslesen. Die liest uns dann die Cookies aus und Sie finden sie hier. Wie kann ich auf die Werte zugreifen, die in Cookies gespeichert sind? Dafür stellt mir PHP ein Array zur Verfügung. Dieses heißt $_COOKIE und in eckigen Klammern geben Sie den Namen des Cookies an, das Sie auslesen wollen. Hier wird überprüft, ob es überhaupt besetzt ist, dieses Cookie mit isset und wenn ja, dann wird das hier ausgegeben, der Wert, der dort gesetzt ist. Dann schauen wir uns das mal hier in der Praxis an. Muss ich das Beispiel hier aufrufen. Erst einmal das Cookie setzen. Erstmal noch keine interessante Ausgabe. Schauen wir uns aber dann an, was passiert, wenn ich auf cookie_auslesen gehe. Und ja, die beiden Werte werden mir ausgegeben. Schauen wir uns nochmal die einzelnen Schritte an, die notwendig sind, wenn man mit Cookies arbeitet. Also im Beispiel wurde zuerst dieses Dokument hier aufgerufen. Und der Browser fordert das an. Dann sendet der Server das zurück und er versucht gleichzeitig, das Cookie zu setzen, oder in diesem Fall, die zwei Cookies. Wenn der Benutzer hier auf den Link cookies_auslesen klickt, wird dieses also vom Browser angefordert und jetzt, das ist das Entscheidende, in seiner Anforderung sendet der Browser gleichzeitig die Cookies mit. Das heißt, nachdem die Cookies einmal gesetzt sind, sendet der Browser bei jeder Anforderung einer Webseite dieser Domain immer die Cookies mit. Und der Server kann das in diesem Moment dann auslesen. Schauen wir das einmal an hier über Live HTTP headers und rufen einfach diese Seite hier noch einmal auf, und schauen, dass das dann mitprotokolliert wird. Also rufe ich das hier nochmal auf. Ja, brav hat mitprotokolliert. Sie sehen hier die Anfrage, und was wird in der Anfrage des clients gesetzt, hier ist das Cookie. Also das Cookie wird dann immer mitgesendet vom client zum Server. Wenn der Server erst einmal gesetzt hat. Das war jetzt ein kleines Beispiel für Cookies. Cookies sind praktische kleine Textdateien, um Informationen auf dem client zu speichern. In PHP setzen Sie Cookies über den Befehl setcookies.

PHP 5.4 & MySQL 5.6 Grundkurs

Steigen Sie auch ohne Vorwissen in die Programmierung PHP- & MySQL-basierter Webseiten ein und lernen Sie die Sprachgrundlagen wie Bedingungen, Schleifen, Funktionen usw. kennen.

7 Std. 9 min (86 Videos)
PHP 5.4 & MySQL 5.5
Jürgen B.
Wenn man mit PHP und MySQL nicht gerade bei Null anfängt, dann eignet sich dieses Video-Training auch für die Vertiefung vorhandener Kenntnisse. Die hervorragend aufbereitete Darstellung, die äußerst angenehme Sprechweise von Florence Maurice, der strukturierte Aufbau und die logische Abfolge haben mich rundum begeistert und mir einige Aha-Effekte beschert. Herzlichen Dank für dieses tolle Video-Training.
 

Dieser Online-Kurs ist als Download und als Streaming-Video verfügbar. Die gute Nachricht: Sie müssen sich nicht entscheiden - sobald Sie das Training erwerben, erhalten Sie Zugang zu beiden Optionen!

Der Download ermöglicht Ihnen die Offline-Nutzung des Trainings und bietet die Vorteile einer benutzerfreundlichen Abspielumgebung. Wenn Sie an verschiedenen Computern arbeiten, oder nicht den ganzen Kurs auf einmal herunterladen möchten, loggen Sie sich auf dieser Seite ein, um alle Videos des Trainings als Streaming-Video anzusehen.

Wir hoffen, dass Sie viel Freude und Erfolg mit diesem Video-Training haben werden. Falls Sie irgendwelche Fragen haben, zögern Sie nicht uns zu kontaktieren!