Hallo zusammen,
gerade eben sitze ich hier und werfe mit jeder Menge Fragezeichen um mich: Es geht um das PHP Session Handling.
Ganz grob fomuliert: Ich übergebe via SESSION-Objekt an ein Skript Parameter, mit denen eine Auswertungsgrafik gezeichnet wird. Eingebunden wird das Ganze im HTML mit dem image Tag:
Also eigentlich nichts ungewöhnliches. In dem Skript, das die Chart-Grafik erzeugt kann allerdings eine Exception geworfen werden, wenn z.B. keine Datentabelle gefunden wurde. Dann wird im Catch-Block eine alternative Grafik via Stream zurück gegeben - funktioniert auch.
Was allerdings nicht funktioniert, ist eine Löschung von Parametern aus dem Session Objekt oder das Session Objekt selbst via unset() im Catch-Block. Und genau das kapiere ich nicht: Zwar kann die Grafik erzeugt werden, aufgrund der Parameter aus der Session, allerdings kann ich das Session-Objekt nicht ändern... nur warum Liegt das an dem Skript-Aufruf mit dem IMG Tag - aber ich durchlaufe doch bei dem Aufruf die gleiche Prozedur (also session_start() etc.), biege aber nur im Code anders ab, um die Grafik zu zeichnen.
EDIT: Wenn ich direkt das Skript mit "/index.php?module=Chart&action=draw" aufrufe, werden die Parameter aus der Session gelöscht - weshalb dann nicht beim Skript Aufruf aus dem IMG-Tag heraus?
gerade eben sitze ich hier und werfe mit jeder Menge Fragezeichen um mich: Es geht um das PHP Session Handling.
Ganz grob fomuliert: Ich übergebe via SESSION-Objekt an ein Skript Parameter, mit denen eine Auswertungsgrafik gezeichnet wird. Eingebunden wird das Ganze im HTML mit dem image Tag:
Code:
<img src="/index.php?module=Chart&action=draw" alt="Chart">
Also eigentlich nichts ungewöhnliches. In dem Skript, das die Chart-Grafik erzeugt kann allerdings eine Exception geworfen werden, wenn z.B. keine Datentabelle gefunden wurde. Dann wird im Catch-Block eine alternative Grafik via Stream zurück gegeben - funktioniert auch.
Was allerdings nicht funktioniert, ist eine Löschung von Parametern aus dem Session Objekt oder das Session Objekt selbst via unset() im Catch-Block. Und genau das kapiere ich nicht: Zwar kann die Grafik erzeugt werden, aufgrund der Parameter aus der Session, allerdings kann ich das Session-Objekt nicht ändern... nur warum Liegt das an dem Skript-Aufruf mit dem IMG Tag - aber ich durchlaufe doch bei dem Aufruf die gleiche Prozedur (also session_start() etc.), biege aber nur im Code anders ab, um die Grafik zu zeichnen.
EDIT: Wenn ich direkt das Skript mit "/index.php?module=Chart&action=draw" aufrufe, werden die Parameter aus der Session gelöscht - weshalb dann nicht beim Skript Aufruf aus dem IMG-Tag heraus?
Zuletzt bearbeitet: