phpbar.de logo

Mailinglisten-Archive

[php] Cookie auslesen

[php] Cookie auslesen

Sebastian Mendel lists at sebastianmendel.de
Die Apr 24 09:48:20 CEST 2007


Jörn Grube schrieb:
> Es wird ein Login in eine Grussbox gemacht (Auflistung aller Grüsse und 
> Möglichkeit, nach Bestellung die Dinger einzeln zu löschen). Ich kann 
> keine Session nutzen, da innerhalb der Ablaufzeit möglicherweise nichts 
> passiert. Daher dachte ich, ich setze ein Cookie:

dann erhöh doch die Ablaufzeit ...

(die Session wird auch nur Ahand einer ID identifiziert die als Cookie beim
Client hinterlegt wird, oder an der URL angehängt ist)


> $value = "eingeloggt";
> setcookie("Grussbox247Eingeloggt", $value, time() + 60 * 60 * $zeit);
> header("location: grussbox_dj.php");
> 
> Es handelt sich um ein Internetradio und $zeit ist die Anzahl an 
> Stunden, wielange die Sendung des eingeloggten DJs dauert. Funktioniert 
> auch.
> Aber wie lese ich nun dieses Cookie wieder aus?

$_COOKIE['Grussbox247Eingeloggt']


> Die Seite grussbox_dj.php reloadet alle 60 Sekunden.
> Ich will zum Einen überprüfen, ob das Cookie gesetzt ist = gleich 
> gültiger Login.
> Zum Anderen soll der DJ automatisch ausgeloggt werden wenn die 
> Ablaufzeit überschritten ist.

Wenn die Ablaufzeit erreicht ist, wird das Cookie auch nicht mehr vom Client
(Brwoser) zum Server (PHP) geschcikt, sprich es ist also auch nicht mehr
verfügbar für dich, sprich $_COOKIE['Grussbox247Eingeloggt'] ist nicht gesetzt


> Ich brauch also die Ablaufzeit um sie mit der aktuellen Zeit zu vergleichen.

$time = time() + 60 * 60 * $zeit;
setcookie("Grussbox247Eingeloggt", $time, $time);
header("location: grussbox_dj.php");

...

echo $_COOKIE['Grussbox247Eingeloggt']
echo 'noch ' ($_COOKIE['Grussbox247Eingeloggt'] - time()) . ' Sekunden
eingeloggt';


-- 
Sebastian Mendel

www.sebastianmendel.de

php::bar PHP Wiki   -   Listenarchive