• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

Sessions, session_id()

jonathan09

Neues Mitglied
Hallo zusammen!

Ich habe erneut eine Frage zu Sessions und den Umgang mit der Session ID. Zur eindeutigen Identifizierung der User starte ich eine Session und speichere den Inhalt der Session ID in einer Variablen $ses_var.

Code:
session_start();
$ses_var = session_id();

Damit hat der User nun die Möglichkeit, verschiedene Formulardaten einzutragen, welche (nach eurem Tipp) erst in eigene Sessions und später beim Absenden in meine Datenbank geschrieben werden.

Nun kann der User über einen generierten Link seine Daten wieder abfragen - diese werden aus der DB gelesen und tabellarisch aufgelistet. Jetzt habe ich mir überlegt, dass es doch super wäre, wenn der User dann auch die Formulareingaben ändern oder anpassen könnte. Dazu müsste dann einfach nur die Session ID die gleiche sein, wie bei vorheriger Eingabe. Kann ich das irgendwie realisieren?

Danke Euch!
 
Werbung:
Das ergibt konzeptionell keinen Sinn. Eine Session existiert optimalerweise nur für den Zeitraum, über den ein Nutzer mit der Seite interagiert. (Standardmäßig werden die Session-Daten nach 24 Minuten Inaktivität gelöscht.) Schaltet er den PC ab und am nächsten Tag wieder ein, wird die alte Session in aller Regel nicht wieder aufgenommen und die zugehörigen Daten sind gelöscht.

Es spricht aber nichts dagegen, die Session-Daten aus dem Datenbankeintrag wieder neu aufzubauen (mit neuer ID), wenn der Nutzer seinen generierten Link anklickt.
 
Zuletzt bearbeitet:
Wo du Recht hast... ;-) Konnte es mit dem Neuaufbau lösen.

Habe noch eine weitere Rückfrage:
Mit if($_SESSION['xy'] == '')... prüfe ich, ob eine Session ein Wert enthält. Wenn diese Session jedoch gar nicht besteht, wird ja keine Fehlermeldung ausgegeben, der Wert ist dann 0 (false).

Was bedeutet in diesem Zusammenhang folgende Fehlermeldung:
Notice: Undefined index: fragebogen_ok in xxx on line 234

Danke Euch
 
Werbung:
oder die notice meldungen, die übrigends überhaupt keine fehler, sondern nur die information anzeigen, dass der array den gesuchten wert nicht enthält einfach mit error_reporting(E_ALL^E_Notice); abschalten. um solche hinweise nicht zu provozieren kann man, wie schon angedeutet, erstmal die existenz überprüfen.
 
janm schrieb:
die übrigends überhaupt keine fehler, sondern nur die information anzeigen, dass der array den gesuchten wert nicht enthält

Hm, ja, aber ob das ein „Fehler“ ist oder nicht, ist diskutabel oder sagen wir situativ. Es mag auf PHP-Ebene lediglich E_NOTICE (E steht aber auch dort für ERROR – vermute ich jedenfalls stark ;)) sein, im Rahmen der Anwendungslogik aber trotzdem zu Problemen führen, weil der Programmierer nicht vorgesehen hat, dass ein bestimmter Wert nicht gesetzt sein könnte.

Ich würde nicht empfehlen, sowas einfach zu unterdrücken.
 
Werbung:
Zurück
Oben