Jense: Sessions und JSON?

Guten Abend allerseits,
ich hab mal wieder eine blöde Frage, hoffe aber trotzdem auf ein paar Antworten:
Also den Datenaustausch zwischen Server und Client mache ich mit JSON. Soweit sogut. Jetzt möchte ich Sessions einrichten, nutze also session_start()
und bekomme über session_id() genau die. Ich möchte gerne diese session_id wie alle anderen Daten per JSON hin und her schicken. Mein Problem ist nun dass ich nicht genau weiss ich das händeln kann. Also um die cookievariante auszuschliessen setze ich
ini_set("session.use_cookies", "0");
ini_set('session.use_only_cookies','0');
wie aber verhindere ich dass PHP dann automatisch die sessionid an die URL hängt, und wie muss ich vorgehen um die vom client ankommende sessionid (als Teil einer Json Datenübermittlung) wieder abzugleichen um zu sehen ob die session schon existiert? Also ich möchte dass was normalerweise automatisch von php erledigt wird sozusagen manuell erreichen, und die 'automatischen' Verfahrensweisen ausschalten. Ich habe auch schon mehrfach gelesen, dass dies gehen soll, da wohl im Prinzip egal ist auf welche Weise die sessionid vom client an den server geschickt wird - nur wie das steht nirgends bzw: Ich versteh es halt nicht. Und warum so umständlich werden einige Fragen? Nun cookies möchte ich nicht benutzen und ansonsten einfach wenigstens etwas verstehen wie es abläuft um damit besser arbeiten zu können.

Gruss Jens

  1. Hi,

    Ich möchte gerne diese session_id wie alle anderen Daten per JSON hin und her schicken. Mein Problem ist nun dass ich nicht genau weiss ich das händeln kann. Also um die cookievariante auszuschliessen setze ich
    ini_set("session.use_cookies", "0");
    ini_set('session.use_only_cookies','0');
    wie aber verhindere ich dass PHP dann automatisch die sessionid an die URL hängt,

    session.use_trans_sid auf 0 setzen - wenn nicht per php.ini/.htaccess moeglich, dann per ini_set() in jedem Script.

    und wie muss ich vorgehen um die vom client ankommende sessionid (als Teil einer Json Datenübermittlung) wieder abzugleichen um zu sehen ob die session schon existiert?

    session_id() vor session_start() mit der Session-ID als Parameter aufrufen? K.A., ob das funktioniert ...

    Ansonsten vielleicht $_COOKIE[session_name()] selbst damit befuellen, und dann session_start() aufrufen.

    MfG ChrisB

    1. Morgen ChrisB,

      wie aber verhindere ich dass PHP dann automatisch die sessionid an die URL hängt,

      session.use_trans_sid auf 0 setzen

      versuche ich schon die ganze Zeit, bekomme aber immer folgende Fehlermeldung:

      Warning: ini_set() [function.ini-set]: A session is active. You cannot change the session module's ini settings at this time. in C:\xampp\htdocs\test07PHP.php on line 30

      Mit
      session_destroy();
      klappt es nicht, auch nicht wenn ich ein neues Browserfenster öffne. Hast Du ne Idee? Danke erstmal für die Antwort!

      Gruss Jense

    2. Hi nochmal, also das mit

      ini_set("session.use_trans_sid", '0');

      klappt jetzt - warum auch immer. Jetzt ist also nur noch offen wie man 'manuel' abfragt, mal probieren...

      Gruss