Session
norbert
- php
Hallo,
ich baue eine Seite, bei der der User Projekte anlegt.
Ein Projekt ist sowas ähnliches wie ein Warenkorb, man füllt es mit Datensätzen.
Verlässt der User die Seite, ist das Projekt weg.
Ist der User aber registriert, kann er beliebig viele Projekte speichern und wieder aufrufen.
Im Grunde wie bei einer Desktopapplikation mit Neu, Öffen, Speichern und Speichern unter.
Die Projekte werden in einer Datenbank gespeichert.
Ich hab jetz mal mit der Session_id rumexperimentiert und festgestellt, dass die sich über Tage nicht verändert hat, obwohl der Rechner zwischenzeitlich mehrfach aus war.
Die lifetime steht auf 0.
Geht das mit den PHP-Sessions überhaupt?
Welches Konzept ist das Beste für diese Aufgabe?
Gruß
Norbert
Hi,
Ich hab jetz mal mit der Session_id rumexperimentiert und festgestellt, dass die sich über Tage nicht verändert hat, obwohl der Rechner zwischenzeitlich mehrfach aus war.
Die lifetime steht auf 0.
Die max_lifetime, die eigentlich eine min-lifetime ist?
Die besagt ja nur, ab wann Session-Dateien frühestens weggeräumt werden dürfen.
Und auf einem Testrechner, wo du dich allein tummelst, ist die Wahrscheinlichkeit nicht besonders gross, dass der Garbage Collector überhaupt anläuft.
Eher interessant ist hier, wie lange der Cookie überlegt, mit dem der Server den Client wiedererkennt.
Geht das mit den PHP-Sessions überhaupt?
Was?
Konkrete Fragestellungen können konkrete Antworten bekommen - undefinierte nicht.
Welches Konzept ist das Beste für diese Aufgabe?
Datenhaltung in der Datenbank und in der Session lassen sich natürlich kombinieren. Dabei sollte man natürlich darauf achten, dass man die Daten früh genug "endgültig" speichert, denn wenn der Nutzer die Seite einfach verlässt, dann müssen die Session-Daten beim nächsten Besuch nicht noch da sein.
MfG ChrisB
Geht das mit den PHP-Sessions überhaupt?
Was?
Konkrete Fragestellungen können konkrete Antworten bekommen - undefinierte nicht.
So aus dem Zusammenhang gerissen, ergibt die Frage natürlich keinen Sinn.
Die Frage zielte darauf, dass der User nach dem 2. Besuch, wenn er die selbe Session_id bekommt, natürlich seine alten Daten wieder sieht, die ja unter der session_id in der Datenbank gespeichert sind, vorausgesetzt man verwendet die session als Schlüssel.
Aber was käme sonst in Frage?
Er soll, wenn er registriert ist, aber seine von ihm gespeicherten Projekte sehen können. Dass dies zwei Aktionen des Users voraussetzt, nämlich das Speichern und dann wieder Öffnen, ist ja wohl klar.
Welches Konzept ist das Beste für diese Aufgabe?
Datenhaltung in der Datenbank und in der Session lassen sich natürlich kombinieren. Dabei sollte man natürlich darauf achten, dass man die Daten früh genug "endgültig" speichert, denn wenn der Nutzer die Seite einfach verlässt, dann müssen die Session-Daten beim nächsten Besuch nicht noch da sein.
Die Session-Daten sollen natürlich beim nächsten Besuch nicht mehr da sein.
Lediglich der registrierte User soll den Komfort des Speicherns und jederzeit wieder ladens geniessen.
Hi,
Die Frage zielte darauf, dass der User nach dem 2. Besuch, wenn er die selbe Session_id bekommt, natürlich seine alten Daten wieder sieht, die ja unter der session_id in der Datenbank gespeichert sind,
Aha, du nutzt also die Datenbank als Ablageort für die Session-Daten, und nicht den Default, Ablage in Dateien? Das ist eine wichtige Information.
vorausgesetzt man verwendet die session als Schlüssel.
Kann man machen.
Aber wenn sowieso irgendeine Art von Nutzeraccount in der Datenbank existiert, kann man die Daten ja auch an diesen binden, dann braucht es nicht unbedingt Sessions.
Die Session-Daten sollen natürlich beim nächsten Besuch nicht mehr da sein.
Ja watt denn nu?
Lediglich der registrierte User soll den Komfort des Speicherns und jederzeit wieder ladens geniessen.
Na dann nutze Sessions für nicht registrierte, anonyme Nutzer - und die DB als Datenablageort für die anderen.
MfG ChrisB