Cookie Tutorial

LLCoolDannY

Grünschnabel
Was ist ein Cookie?
Daten werden in einer Datei auf dem Computer gespeichert, um Daten zu speichern und später auszulesen.
Folgende Funktion setzt in PHP einen Cookie:

PHP:
<?
setcookie("name", "wert", "haltbarkeit", "verzeichnis", "domain", "sicherheit");
?>

"name" gibt den Namen vom Cookie an. Dies ist dafür gedacht, den Cookie später anzusprechen.
"wert" enthält z.B. den Inhalt des Coookies z.B. eine Variable (vielleicht ein Passwort)
"haltarkeit" bezeichnet, wie lange der Cookie in Sekunden existieren soll. Wird keine Zeit gesetzt, so gilt der Cookie bis zum Schließen des Browserfensters.
"verzeichnis" gibt das Verzeichnis an, in dem der Cookie aktiv sein soll (z.B. unterordner/)
"domain" kann man die URL von der Page angeben (z.B. http://www.llcooldanny.de)
"sicherheit" kann 0 oder 1 sein, bei 1 wird eine sichere Verbindung benutzt.

Ausser "name" sind alle Werte optional, d.h. nicht zwingend.

So, ich hab jetzt mal ein Beispiel gemacht:

PHP:
<?
setcookie("passwort", $passwort, time()+3600, "unterordner", 1);
?>

time()+3600 bedeutet, dass der Cookie die jetztige Zeit + 3600 Sekunden, also 60 Minuten, gilt (Bei großenWerten kann man es aber auch leicher machen: time()+365*24*3600. Das bedeutet 365 mal 24 Stunden mal 60 Minuten gleich 1 Jahr).


So, jetzt hat man den Cookie gespeichert, aber wie liest man ihn jetzt aus ?
Dafür gibt 2 Möglichkeiten:

PHP:
<?
echo $HTTP_COOKIE_VARS['passwort']; // 1. Möglichkeit 
echo $_COOKIE['passwort']; // 2. Möglichkeit
?>

Die Variablen $_COOKIE und $HTTP_COOKIE_VARS
müssen groß geschrieben werden.

Aber wie kann man einen Cookie jetzt wieder löschen?
Ganz einfach:

PHP:
<?
setcookie("passwort");
?>

Eigentlich ist es kein löschen, sondern ein neues Setzen von einem Cookie, der aber leer ist.
--------------------------------------
So, das war es nun über Cookies.
Ich hoffe, das Tutorial gefällt euch.
cya, LLCoolDannY
 
Original geschrieben von LLCoolDannY
i.P. ist setcookie() ja schon ein array

Hää? :rolleyes: Schon klar ;)

Ich würde es einfach so machen:
PHP:
<?php
$data["username"] = $in_username;
$data["password"] = md5($in_password);

$cdata = $data["username"] . ":::" . $data["password"];

setcookie("data", $cdata, time() + 3600);

list($out_username, $out_password) = explode(":::", $_COOKIE["data"]);
?>
 
Moin,

darum musst du dich nicht kümmern.

Sofern
1. der Browser des Benutzers Cookies zulässt
2. Die PHP-Option session.use_cookies aktiviert ist

setzt der Server automatisch einen Session-Cookie, sobald du eine Session startest
 
Zurück