Cookie schreiben + auslesen und verwenden...
lima-city → Forum → Programmiersprachen → PHP, MySQL & .htaccess
auswahl
beitrag
einstellung
farbe
fehler
fragen
inhalt
jeweiligen benutzer
lagern
lese
listen
manual
parameter
regel
sache
schief gehen
session
speicher
variable
vertrauen
-
Hi, dies ist das erste mal das ihc mit Cookies arbeiten m?chte..
Die Sache ist die: man kann sich bei unserem Deisgn eine fabre ausw?hlen, diese wird in der variable $color gespeichert...damit sie aber nicht verloren geht, m?chte ich nat?rlich ein cookie schreiben..
da ich aber nicht wei? wie das mit cookies alles geht habe ich 2 fragen:
1. wie erstell ich diesen cookie?(name: modify;inhalt: $color='seine/ihre auswahl')
2. wie lese ich diese variable nun aus dem cookie aus?
w?re echt geil wenn mir jemand auch mihc ins verwenden von cookies mit einbelehrt^^ thx schonmal.. -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
Das geht ganz einfach!
So setzt du einen Cookie:
Wert ist dann also die Farbe, der Name ist der Name des Cookies und das dritte parameter ist das Ablaufdtum des Cookies, dieser verf?llt nach 30 Tagen.
setcookie (Name , Wert , time()+60*60*24*30);
Und so lie?t du ihn wieder aus:
$farbe = $_COOKIE[Name]; -
danke erstmal, doch
noch eine frage:
wie pr?fe ich ob der cookie exestiert?
$cookie = $_COOKIE[Name];
if (!$cookie="") ???
Beitrag ge?ndert am 30.09.2005 16:29 von specialdune -
mit
$cookie = $_COOKIE[Name];
gehst du schon davon aus, dass er existiert. falls er nicht existiert, wird auch $cookie nix zugewiesen (koennte vielleicht sogar einne fehler geben).
eigentlich muss das genau andersrum laufen, also
if ($_COOKIE[Name]) { $cookie = $_COOKIE[Name]; }
-
mit
$cookie = $_COOKIE[Name];
gehst du schon davon aus, dass er existiert. falls er nicht existiert, wird auch $cookie nix zugewiesen (koennte vielleicht sogar einne fehler geben).
eigentlich muss das genau andersrum laufen, also
if ($_COOKIE[Name]) { $cookie = $_COOKIE[Name]; }
k danke, aber n fehler w?rde nicht ausgegeben werden, da leere variablen existieren k?nnen^^ trotzdem danke -
Pfui! Manche Leute aktzeptieren keine Cookies!
Setzte doch lieber auf Sessions. ;)
Sind wesentlich besser f?r solche Sachen geeignet.
MfG Lucas -
aber wenn der cookie nicht gesetzt ist, dann gibt es doch $_COOKIE[Name] ueberhaupt nicht. deshalb die frage: koennen nicht existierende variablen existieren...?
ich mein damit, wenn du was zuweist, was es gar nicht gibt, kann das funktionieren. bei "richtigen" programmiersprachen ist das definitv ein fehler. wuerde mich ja schonmal interessieren. kannst du es vielleicht mal ausprobieren? -
Ob eine Variable gesetzt wurde, pr?ft man (logischerweise) mit
isset($variable);
Also im Falle eines Cookies:
if( isset($_COOKIE['cookie_name'] ) )
print("Cookie wurde gesetzt!<br />");
else
print(" Der Keks wurde nicht gesetzt<br />");
Ich w?rde allerdings die Farbe nicht in den Cookie verfrachten, denn du kannst nicht darauf vertrauen, dass der Browser was richtiges mitschickt. Prinzipiell kann auf dem ?bertragungsweg eine Menge schief gehen.
Das Cookie sollte also nur den jeweiligen Benutzer signalisieren und die Einstellungen des Benutzers sollten in einer Liste (oder Tabelle) auf dem Server lagern -- beispielsweise in einer Datenbank. Und da das nicht mehr so einfach zu programmieren ist, empfehle ich dir, den Rat von lucas9991 anzunehmen: Verwende Sessions! Die regeln das je nach Browsereinstellungen mit Cookies oder per Session-ID in der URL (fast) von ganz alleine.
http://de.php.net/manual/de/ref.session.php
Sp?testens wenn du n?mlich mehr als nur die eine Farbe speichern willst, ist das einfacher.
MfG
alopex -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage