pi314
Goto Top

Cookies - Verwendung und Informationen

Wie werden Cookies gesetzt?

Zuerst als Antwort geschrieben, dachte ich mir, es auch für andere Besucher hilfreich.

Hier mal eine kleine Anleitung und Infos zu Cookies:

Was sind Cookies?
Als Cookies werden kurze Informationen bezeichnet, die der Server beim Client hinterlassen kann. Meist werden sie in Online-Shops verwendet (z.B. Was für Artikel schaut sich der Benutzer bevorzugt an? --> bessere Werbemöglichkeiten). Sie werden immer dann benutzt, wenn der Server weitergehende Informationen vom Betrachter haben muss als nur die Adresse, die die Seite anfordert.

Cookies bestehen aus folgenden Infos:

  • Name: Name des Cookies
  • Value: Wert des Chookies
  • Expires: Verfalldatum (wann verliert das Cookie seine Gültigkeit?); wird kein's gesetzt, so erlischt die Gültigkeit beim Beenden des Browsers
  • Path: Nür über Seiten, die in diesem Verzeichnis oder Unterverz. liegen, darf der Cookie angefordert werden; wird kein Pfad angegeben, wird der Pfad der aufgerufenen Seite angenommen
  • Domain: Adressraum der Server, die das Cookie wieder lesen dürfen; wird nicht angegeben, wird der Name des Servers verwendet
  • Secure: wenn gesetzt, darf das Cookie nur über verschlüsselte Kanäle übertragen werden (z.B. SSL)

Hinweise:
  • Ein Server darf maximal 20 Cooies bei einem Client speichern.
  • Cookies werden im http-Header übertragen, weswegen der Befehl setcookie() vor dem Beginn der html-Seite stehen muss.
  • Will man z. B. mehere Artikelnummern im Cookie speichern, kann man die einzlnen Nummern mit Semikolon getrennt abspeichern und den Wert beim Auslesen per explode( String separator, String string, [int limit] ) in ein Array abspeichern.
$wert = "24234;4242;13131;1414";  
$array = explode( ";", $wert );  
for( $i = 0; $i < count( $array ); $i++ ) {
   echo $array[ $i ]."  
";  
}

Setzen eines Cookies
Syntax: setcookie( String name, String value, int expires, String path, String domain, Bool secure );

Beispiel:
$t = time() + 3600 * 24 * 8;  //time() liefert das aktuelle Datum in Sekunden seit 01.01.1970
setcookie( "theCookie", "hello world", $t, "/test", ".de" );  

Das erstellte Cookie hat den Namen theCookie, den Wert hello world und gilt 8 Tage. Es kann nur von Servern mit toplevel-Domain .de und Skripten, die im Unterverzeichnis test stehen, gelesen werden.

Zugriff auf gesetzte Cookies
Das Lesen geschriebener Cookies wird mit Hilfe des assoziativen Arrays $_COOKIE realisiert.

Beispiel:
$theCookie = $_COOKIE[ "theCookie" ]; //den Name des Cookies hier angeben  
if( $theCookie )
   echo "Cookie ist gesetzt und hat den Wert $theCookie";  
else
  echo "Cookie ist nicht gesetzt";  

Löschen von Cookies
Cookies werden ebenfalls durch den Befehl settcookie() gelöscht. Es müssen die gleichen Parameter wie beim Setzen des Cookies angegeben werden. Nur der Wert von expires muss in der Vergangenheit liegen.

Beispiel:
setcookie( "theCookie", "hello world", time() - 100 , "/test", ".de" );  

Content-ID: 31444

Url: https://administrator.de/contentid/31444

Ausgedruckt am: 22.11.2024 um 09:11 Uhr

pi314
pi314 29.04.2006 um 15:52:38 Uhr
Goto Top
Hm,

ich hatte diesen Beitrag eigentlich als Tutorial geschrieben, aber jetzt taucht er hier als Beitrag auf. Was ich da falsch gemacht habe, weiß der Geier... sorry face-sad

@moderatoren:
Bitte macht ein Tutorial d'raus, es ist einfach kein Beitrag face-wink
Enclave
Enclave 29.04.2006 um 23:48:53 Uhr
Goto Top
Hi pi314,

Ich red ja eigentlich nicht schlecht über Moderatoren(vielleicht weil ich selber einer bin) aber diese hier im Bereich...

Naja.
Ich helf dir mal. Klicke aud editieren (bei Beitrag und neben der Überschrift für den Titel kannst du in einem Pulldownmenü auswählen was für ein Typ das Dokument ist. Dort steht vermutlich "Beitrag". Wähle einfach auf "Tutorial" und übernehme diese Einstellungen.


Mfg

Enclave
pi314
pi314 02.05.2006 um 12:06:59 Uhr
Goto Top
Danke,

so einfach geht's.. face-wink
16568
16568 02.05.2006 um 16:33:22 Uhr
Goto Top
Der eine Mod hier ist ja der beste:

fast ein ganzes Jahr abstinent...
(ich würde ihn kicken, wenn er es bisher nicht vermißt hat, wird er es auch später nicht...)


Lonesome Walker