Session löschen
Sturmverliebt
- php
Hey,
ein kleines Problem. Hab eine Session für mein Bilderupload diese habe ich
$_SESSION['bildUpload'] = $zeige_bild;
genannt. Nach dem Upload lösche ich meine Session wieder
$_SESSION = array();
session_destroy();
habe ich hier nachgelesen. Problem, mein Login basiert auch auf eine Session, diese sieht so aus session_id()
dieses ist damit nun auch gelöscht :/ nach dem Upload soll NUR dieses $_SESSION['bildUpload'] gelöscht werden. Wie stelle ich das am besten an?
nach dem Upload soll NUR dieses $_SESSION['bildUpload'] gelöscht werden. Wie stelle ich das am besten an?
$_SESSION['bildUpload'] = ""; oder 0 oder -1 oder was auch immer dein Script nicht mehr als gültig erkennen möchte?
Hi,
$_SESSION['bildUpload'] = ""; oder 0 oder -1 oder was auch immer dein Script nicht mehr als gültig erkennen möchte?
Danke, an diese Lösung habe ich gar nicht gedacht. Einfach die $_SESSION auf einen leeren Wert setzten.
Hello,
nach dem Upload soll NUR dieses $_SESSION['bildUpload'] gelöscht werden. Wie stelle ich das am besten an?
$_SESSION['bildUpload'] = ""; oder 0 oder -1 oder was auch immer dein Script nicht mehr als gültig erkennen möchte?
Wie wäre es mit unset($_SESSION['bildUpload']); ?
Liebe Grüße aus dem schönen Oberharz
Tom vom Berg
Mahlzeit,
Wie wäre es mit unset($_SESSION['bildUpload']); ?
Schön ist das nicht. Eine Variable, die benötigt wird, um z.B. einen Status zu speichern, hat von Anfang an zu existieren und einen definierten Wert zu haben (und wenn es FALSE ist). Hat was von sauberer Planung und Konzeption und erleichtert die Fehlersuche. Aufgeräumt wird immer erst dann, wenn was entgültig nicht mehr gebraucht wird.
Zusätzlich gehört so eine Variable am Anfang kommentiert um per PHPDoc, Apigen usw. eine entsprechende Liste zu bekommen, welche Variablennamen bereits benutzt werden.
Und nein, ein Projekt kann nicht so klein sein, dass sowas nicht nötig ist. ;)
Hey,
ahh ok, ich darf wohl nur dieses $_SESSION = array();
ausführen, dann bleibt meine session_id()
behalten. Wenn ich mir
echo $_SESSION;
echo '<br>';
echo session_id();
ausgebe, dann bekomme ich folgendes:
Array
fp1l843a978pre7u9g26vnpjj1
scheint also zu klappen. Keine Ahnung ob es richtig ist aber es geht.
Hallihallo!
Hey,
ahh ok, ich darf wohl nur dieses
$_SESSION = array();
ausführen, dann bleibt meinesession_id()
behalten.
Damit löschst Du ALLE "Nutzdaten" aus Deiner Session.
Solltest Du irgendwann mal auf die Idee kommen, auch noch andere Werte ausser "bildupload" in der Session speichern zu wollen, wirst Du plötzlich auf Fehler stossen, die nur schwer nachvollziehbar sind. (Nanu, auf einmal ist meine Session leer, aber die id ist noch da? Was zum?!)
Besser ist deshalb die Lösung von Encoder. Wenn Du nur ein Element aus der Session rausnehmen willst, solltest Du auch nur dieses eine Element löschen.
Beste Grüsse,
Tobias Hahner
Hi Tobias,
Besser ist deshalb die Lösung von Encoder. Wenn Du nur ein Element aus der Session rausnehmen willst, solltest Du auch nur dieses eine Element löschen.
Danke dir für deine ausführliche Erklärung. Hab ich nun auch so umgesetzt.