Alte Session beenden und neue starten

Tab

unlimited
ID: 374854
L
26 Juni 2007
900
71
Guten Abend,

ich hab mich seit kurzem mal wieder mit dem Thema PHP beschäftigt. Dabei habe ich eine Galerie erstellt, welche soweit auch ganz gut klappt. Nur habe ich ein kleines Session-Problem.

Die Galerie ist ganz einfach aufgebaut. Ich schiebe die Bilder in einen Ordner, dann lese ich die Dateien aus und speicher sie in einer Session. Dann gebe ich sie z.b. auf der Seite "Sommerfest" aus.

Jetzt wollte ich eine neue Seite "Winterfeier" anlegen. Dafür habe ich einen neuen Ordner erstellt. In diesen dann die Bilder. Die Datei galerie.php kopiert und einfach den Pfad auf den neuen Ordner angepasst.

Mein Problem ist nun, dass er mir in der neuen Galerie die alten Bilder anzeigt. Dies liegt daran, das die alten Bilder noch in der Session sind. Theoretisch müsste ich diese Session jetzt unabhängig von einander machen. Doch wie.

Habe schon ein session_destroy() und session_unset() probier, doch bringt es keinen Erfolg.

Liebe Grüße
 
Ich bin mir nicht sicher, aber es müsste gehen wenn du session_regenerate_id(true) benutzt.
 
Funktioniert leider nicht.

Theoretisch müsste session_destroy() funktionieren. Es funktioniert auch, es werden die neuen Bilder geladen. Doch habe ich nun folgendes Problem.

Ich habe die Seite galerie.php nun habe ich eine Blätterfunktion eingebaut und durch session_destroy, wird nun auf jeder Seite logischerweise das Gleiche angezeigt.

Liebe Grüße
 
Zuletzt bearbeitet:
Mein Problem ist nun, dass er mir in der neuen Galerie die alten Bilder anzeigt. Dies liegt daran, das die alten Bilder noch in der Session sind. Theoretisch müsste ich diese Session jetzt unabhängig von einander machen. Doch wie.

Diese Information hat so oder so nichts in der Session zu suchen ;) Wie willst du sonst in 2 Tabs beide Galerien durchschauen? ;)
Lösung: übergebe diese Informationen in der URL
 
Diese Information hat so oder so nichts in der Session zu suchen ;) Wie willst du sonst in 2 Tabs beide Galerien durchschauen? ;)
Lösung: übergebe diese Informationen in der URL
So wie ich das verstanden habe, cacht er den Inhalt der Ordner in einer Session. Da macht die Übergabe per URL nicht wirklich Sinn.

Wenn du es in einer Session behalten willst (auch wenn das, wie schon gesagt, nicht optimal ist), dann kannste pro Datei einen Unter-Array in der Session verwenden, der als Index z.B. den aktuellen Dateinamen verwendet.
PHP:
$file = basename(__FILE__);
if(!isset($_SESSION[$file])
{
        $_SESSION[$file] = array();
}

// bilder cachen
$_SESSION[$file][] = 'bild1.jpg';
 
Super vielen Dank für die Antworten.
Welche "Übergabe" wäre nun die Optimalste? Die per URL?