session daten beibehalten auch nach browser geschlossen
michal
- php
hallo,
ich habe eine site, bei der ich auf jeder einzelnen seite eine session mit session_start(); starte.
in dieser session sind eine reihe von variablen registriert.
wird der browser geschlossen, verfällt die session und mit ihr alle gespeicherten daten.
nun meine frage:
gibt es eine möglichkeit, diese session auch weiter vorzuhalten (1 woche z.B.)?
sodaß der besucher wenn er wieder auf die seite zurückkomt wieder seine session fortführen kann (und die ihm zugeordneten variablen aus der session wieder zur verfügung stehen)
ich hab mir mal session_set_cookie_params() und
session_cache_expire() angesehen - wären das adäquate funktionen dazu?
vielen dank für eure hilfe,
grüße,
michael
Hallo michal!
Also, mit Cookies sollte das zu schaffen sein.
Du speicherst eben einfach die Variablen im Cookie, und liest sie dann, wenn er wieder kommt aus dem Cookie ein.
Gemacht hab ich das zwar noch nicht, aber mit ein wenig Googlen und Manual lesen sollte das machbar sein denk ich mal.
MfG
Götz
hi,
genau nach sowas habe ich gesucht.
aber alle tutorials die ich gefunden habe beziehen sich entweder darauf wie man session beutzt oder wie man cookies setzt.
wie man aber einen coookie setzt um später wieder auf seine session daten zuzugreifen und wie genau da die zusammenhänge sind, das habe ich nirgendwo gefunden. geschweige denn eine lösung zu meinem problem.
deswegen hab ich ja hier gepostet ;-))
hast du vielleicht einen passenden link oder irgendwas in der richtung?
grüße,
michale
Hallo michael!
Also, über http://de2.php.net/manual/de/features.cookies.php solltest Du ja schon mal weiter kommen.
Über http://www.google.com/search?q=PHP+Sessions+Cookies&sourceid=mozilla-search&start=0&start=0&ie=utf-8&oe=utf-8 solltest Du auch noch was sinnvolles finden denk ich mal.
Ansonsten natürlich noch http://www.dclp-faq.de/q/q-sessions-wie.html und folgende.
Genauere Links kann ich Dir nicht angeben, aber die Links denen ich grad mal kurz gefolgt bin, die sahen ganz passend aus.
MfG
Götz
Hello,
gibt es eine möglichkeit, diese session auch weiter vorzuhalten (1 woche z.B.)?
sodaß der besucher wenn er wieder auf die seite zurückkomt wieder seine session fortführen kann (und die ihm zugeordneten variablen aus der session wieder zur verfügung stehen)
Du solltest Dich von der irrigen Annahme freimachen, dass eine Session direkt etwas mit einem Vorgang zu tun hat. Die Session ist nur Basis der momentanen Kommunikation über einen kruzen Zeoitraum hinweg, genauso wie TCP/IP nur ein Protokoll ist, mit dem Du alleine überhaupt nichts anfangen kannst. In einer Sessiondatei liegen also nur ausgelagerte Variablen(-Bereiche) aus dem Arbeitsspeicher. Wenn Du nun also Vorgänge schaffen willst, musst Du Mechanismen erfinden, die diese Vorgänge beschreiben und registireren. Vorgänge (Transaktionen) bestehen immer aus Stammdaten und Bewegungsdaten. Die Daten werden durch Interaktion mit dem Benutzer oder einem Programm über die Zeit vielfältig verändert und diese Veränderungen sollten von vor Beginn bis nach Ende des Vorganges jederzeit reversibel sein. Das bezeichnet man dann auch als Transaktionsfähigkeit. Wenn eine Datenbank so etwas nicht alleine kann, dann kann man das durchaus durch geeignete Programmiertechnik in der API noch erreichen.
Die Sessiondatei selber aufzuheben, ist zwar eine "billige" Möglichkeit, stellt ja aber auch nur einen Snapshot innerhalb eines Zyklus dar und ist daher nur wenig geeignet, das von Dir gewünschte Ziel zu erreichen.
Harzliche Grüße aus http://www.annerschbarrich.de
Tom