[PHP] Sessionvariablen werden gelöscht?



  • Hallo zusammen,
    kann es sein, dass wenn ich eine Weiterleitung per header("location: "); mache, einige Sessionvariablen gelöscht werden? Es werden nicht alle gelöscht, nur einige. Ist auf jeden Fall voll komisch. Habe die Session-id auch schon manuell drangehängt per ?".session_name()."=".session_id() aber das hat auch nichts gebracht. Code kann ich leider net zeigen, da es en bisschen konfus ist...
    Hoffe jemand von euch weiß an was es zumindest liegen könnte!?
    MfG

    Tobsen


  • Mod

    ein paar variablen koennen nicht wegseien, entweder alle oder keine. denn (angenommen du verwendest den standard handle zum speichern der session variablen) alle variablen werden gemeinsam in der selben datei gespeichert.

    lass dir mal alle session variablen vor dem redirect ausgeben (in eine datei, sonst haut der redirect ja nicht hin) und in der ziel datei dann auch noch mal alle session variablen ausgeben lassen...

    ich hoffe du leitest nicht zu einer anderen domain weiter, denn sonst sind etwaige cookies weg...



  • habe es so überprüft, wie du gesagt hast und dabei komisches festgestellt.
    Bevor Weiterleitung:

    _SESSION['apartment'] = 1 _SESSION['email'] =
    $_SESSION['name']=

    Nach Weiterleitung:

    _SESSION['apartment'] = Object _SESSION['email'] =
    $_SESSION['name']=

    Ich habe keine Ahnung warum $_SESSION['apartment'] nun plötzlich Object als Inhalt hat. Es wurde überhaupt nicht verändert!?
    Könnt ihr mir sagen woran das liegen könnte...?
    MfG

    Tobsen


  • Mod

    object ist _sehr_ komisch!

    was sagt denn get_class()? also welchen type hat diese 1 denn dann?

    bzw. caste das ding mal nach int und schau nach ob es dann wieder n int ist...

    wenn nicht, dann lass dir mal alle attribute der klasse ausgeben -> get_object_vars



  • Ausgegeben Klasse: stdClass

    wie kann ich den in php nach int casten mit (int)$zahl oder wie?



  • Der Name stdClass ist reserviert, da er intern von Zend benutzt wird. Sie können in PHP keine Klasse mit dem Namen stdClass haben.

    ??? HILFE!



  • Hab gerade nach int gecastet und es kam wieder 1 raus aber das ist für mich keine Lösung... woran liegt das denn?



  • Habe dasselbe Problem jetzt auch noch mit der $_SESSION['email'] und da kann ich schlecht nach (int) casten, denn schließlich ist 'ne E-Mail-Adresse wohl kaum vom Typ int... so en shit...
    Hoffe ihr könnt mir helfen...
    MfG

    Tobsen


  • Mod

    stdclass ist eine interne PHP 'dummy' klasse.

    diese klasse kann garnix und dient eigentlich nur dazu um n paar dity sachen zu machen.

    zB wenn du ein objekt in $_SESSION speicherst und diese klasse ist dann auf der naechsten seite unbekannt, dann wird das ding zu einer stdclass

    was passiert wenn du strval() auf die email machst?

    wenn es funktioniert hast du nen dirty workaround... aber verstehen tu ichs auch nicht...
    probier mal die variablen zu 'serialize'n bevor du sie in die session speicherst...
    bzw. wenn du das ganze lokal hast, dann schau dir mal die dateien an in denen PHP diese variablen speichert (pfad dorthin steht in der php.ini)

    uU hilft auch ein PHP update... bzw. schau dich mal in den grossen PHP foren um, ob da jemand was weiss...



  • das komische ist, dass es offline alles wunderbar funzt und strval funzt net... na ja, werde mal meinen Provider darauf ansprechen...



  • och man, ich könnt heulen... die Scheiße funktioniert einfach net!!!! Offline klappt alles wunderbar und online.... es werden immer die gleichen Variablen verändert bzw. geleert. Wenn ich wenigst. den Grund wüsste....
    @shade kannste mir en paar große php-foren empfehlen?
    MfG

    Tobsen



  • Im SelfHTML-Forum tummeln sich die ganzen Profis, die dir sicherlich helfen könnten.


Anmelden zum Antworten