|
|||||||||||||||||||||||||||||||||
|
|
setcookieBeschreibungbool setcookie ( string name [, string value [, int expire [, string path [, string domain [, int secure]]]]])setcookie() definiert ein mit den HTTP Header-Informationen zu übertragendes Cookie. Wie andere Header auch, müssen Cookies vor irgendwelchen anderen Ausgaben Ihres Skriptes gesendet werden (dies ist eine Einschränkung des Protokolls). Sie müssen deshalb solche Funktionsaufrufe vor irgendwelchen Ausgaben, inklusive <html>- oder <head>-Tags sowie irgendwelcher Whitespaces tätigen. Erfolgte bereits vor dem Aufruf dieser Funktion eine Ausgabe erfolgt sein, gibt setcookie() scheitern und FALSE zurückgeben. War setcookie() erfolgreich, wird TRUE zurückgegeben. Dies sagt jedoch nichts darüber aus, ob der Benutzer das Cookie auch akzeptiert hat.
Alle Argumente - außer name - sind optional. Ist nur der Name angegeben wird das Cookie mit diesem Namen auf dem Client gelöscht. Sie können ein Argument auch durch einen Leerstring ("") ersetzen, um es zu überspringen. Da die Argumente expire und secure Integer-Werte sind können sie nicht mit einem Leerstring übersprungen werden. Setzen sie statt dessen NULL (0). Die folgende Tabelle erklärt jeden Parameter von setcookie(), spezifische Informationen finden Sie auch auf der Seite Netscape cookie specification.
Tabelle 1. setcookie() Parameter erklärt
Sind die Cookies einmal gesetzt, können Sie beim nächsten Seitenaufruf anhand der $_COOKIE oder $HTTP_COOKIE_VARS Arrays auf diese zugreifen. Beachten Sie, dass die autoglobals wie $_COOKIE seit PHP 4.1.0 verfügbar sind. $HTTP_COOKIE_VARS existiert seit PHP 3. Cookie-Werte kommen auch in $_REQUEST vor.
Häufige Probleme:
In PHP 3 werden mehrfache Aufrufe von setcookie() im selben Skript in umgekehrter Reihenfolge abgearbeitet. Sollten sie also ein Cookie löschen wollen bevor sie ein anderes setzen, sollten sie das Setzen vor dem Löschen vornehmen. In PHP 4 werden mehrfache Aufrufe von setcookie() in der Reihenfolge ihres Aufrufs behandelt. Einige Beispiele, wie Cookies gesetzt / gesendet werden: Beachten Sie, dass der Wertebereich des Cookies automatisch URL-konform codiert (urlencoded) wird, sobald sie das Cookie senden, und wenn es gelesen wird, wird es automatisch URL-konform decodiert und einer Variablen zugewiesen, die den selben Namen wie das Cookie trägt. Um die Inhalte unserer Test-Cookies zu sehen, brauchen sie nur eines der folgenden Beispiele zu benutzen:
Beim Löschen eines Cookies sollten sie sicherstellen, dass das Verfallsdatum in der Vergangenheit liegt, um den Mechanismus zum Löschen des Cookies im Browser auszulösen. Die folgenden Beispiele zeigen, wie die im vorigen Beispiel gesendeten Cookies wieder gelöscht werden: Sie können auch ein Array an Cookies setzen, in dem sie die Array-Schreibweise benutzen. Dadurch werden so viele Cookies gesetzt, wie Ihr Array Elemente hat. Sobald das Cookie aber von ihrem Skript gelesen wird, werden alle Werte in ein einziges Array mit dem Cookie-Namen eingelesen:
Weitere Informationen zu Cookies und deren Spezifikationen erhalten sie bei Netscape unter http://www.netscape.com/newsref/std/cookie_spec.html. Microsofts Internet-Explorer 4 mit Service-Pack 1 geht nicht korrekt mit Cookies um, die den Pfad-Parameter beinhalten. Netscape Communicator 4.05 und Microsoft Internet Explorer 3.x scheinen mit Cookies Probleme zu haben, wenn die Argumente für Pfad und Zeit nicht angegeben sind.
| ||||||||||||||||||||||||||||||||
|
|
|
Home :: Copyright :: Privacy :: Credits :: Get a free Linuxinfor Email Account Document on this page is part of "PHP Handbuch". See Index Page for more info about Authorship and Copyright. 1999-2009 Linuxinfor.com. No rights reserved. |