$_SESSION nicht erreichbar[geloest]

  • Themenstarter Themenstarter sw33tlull4by
  • Beginndatum Beginndatum
S

sw33tlull4by

Guest
Hi!
Ich hab hier ein Problem.
Ich greife mittels html-formular auf ein PHP-Skript zu, welches dann eine PHP-Funktion aufruft die eine Htmlseite generiert und auf eine andere HTML-Seite mittels header("location:---) weiterleitet.
Diese Seite fordert wieder einen Input und leitet diesen dann an ein PHP-Skript weiter.
Dort wird dann auf $_Session zugegriffen aber $_SESSION ist nicht verfuegbar, das Wort global schafft auch keine abhilfe,was irgendwie komisch ist da $_SESSION eigentlich global sein sollte.

eins.html->eins.php (hier werden sachen in $_SESSION geschrieben) ->generating.php---weiterleitung auf htmlseite aus funktion heraus---->zwei.html----->zwei.php(hier kann ich nicht auf $_SESSION zugreifen)

mfg

sw33t
 
Steht in jeder Datei, in der Du auf die Session-Variable zugreifen willst session_start()? Hört sich nämlich so an, als wenn die Session verloren geht.
 
RE: $_SESSION nicht erreichbar

Meine Kristallkugel meint, du hast einen Fehler in Zeile .........
Mist immer diese Nebelschwaden.
Könnte aber auch an dem gehopse zwischen php und html liegen, habe ich
noch nie probiert, ob da die Session erhalten blebt.
Ich probiers heut Abend nochmal ;-)

Gruss
 
Minimalbeispiel

wie, Nebelschwaden?
Der Wetterbericht sieht doch rosig aus.*g*
Ne ich weiss was du meinst, war gester nacht nur zu muede und geschafft noch mal ein minimalbeispiel anzuhaengen.
Was ich hiermit nachhole.
Mal ganz ingorieren das die Session nicht beendet wird, knallt es in isequal.php.
mfg

sw33t


p.s.: Das dingen ist ein Tar-Archiv, kann aber auch mittels Winrar entpackt werden.
 
Wie BasicAvid bereits im ersten Reply sagte: du musst immer erst session_start() ausführen, bevor du auf die Session-Variablen zugreifst (sonst wird die Session nicht wieder aufgenommen). Außerdem ist die Kombination aus HTTP-Redirect (via header("Location: ...")) und HTML-Ausgabe nicht sehr sinnvoll.
 
Ich habe gerade erstmal gesehen das ich ein paar schwere Fehler in meinem Minimalbeispiel drin hatte.
So habe ich zB vergessen die variablen aus <form....></form> mittels $_GET bzw $_POST auszulesen,hab es oben korrigiert.

Das zusaetzliche session_start() hat den Fehler behoben.(besten dank)
Was ich daran verwirrend finde ist das session_start eine Session beginnt, und auch gleichzeitig eine alte Session wieder aufnimmt.

Außerdem ist die Kombination aus HTTP-Redirect (via header("Location: ...")) und HTML-Ausgabe nicht sehr sinnvo

Was wuerdest du mir statt dessen Vorschlagen und was ist daran nicht sehr sinnvoll?
mfg

sw33t
 
Original von sw33tlull4by
Was wuerdest du mir statt dessen Vorschlagen und was ist daran nicht sehr sinnvoll?
mfg

sw33t
Mit den Location-Header sagst du dem Browser: "Hier gibt es nichts, das Zeug liegt woanders". Dann interpretiert der Browser die Ausgabe logischerweise nicht, sondern folgt der Weiterleitung zur angegebenen URL.
Wenn du vor der Weiterleitung Text ausgeben willst, bau entweder ne Zwischenseite ein (mit Link auf die Weiterleitung) oder übergib der Zielseite irgend einen Parameter, so das diese dann die Ausgabe für dich anzeigt.

mfg, metax.
 
das mit der Ausgabe vor der Weiterleitung habe ich nur gemacht um mein Skript so gut wie moeglich nachzubauen,
das header("location:....") liegt normalerweise hinter einem If-Statement.
Vielen dank.
mfg

sw33t
 
Zurück
Oben