Felix Riesterer: AJAX und PHP Sessions

Beitrag lesen

Lieber heavenkiller, (was genau willst Du "killen"?)

und möchte nun eine Art Administrationsbereich der mit AJAX arbeiten soll.

etwas dieser Art habe ich gerade hinter mir. Mein Admin-Bereich lädt den Verzeichnisbaum über XMLHttp-Requests dynamisch nach, da sonst eine HTML-Datei von über 500kB gesendet werden müsste, um das gesamte Verzeichnissystem der Web-Präsenz abzubilden.

Natürlich soll sich der Benutzer erst einloggen. Nun stellt sich mir die Frage, ob man ohne Probleme die PHP-Sessionfunktion benutzen kann (Stichwort Übertragung der Daten an den Server) oder ob ich mir ein eigenes Session-System, dass mit Cookies arbeitet schreiben?

Nach meiner Erfahrung ist bei der clientseitigen Akzeptant von Cookies (und der serverseitigen Verwendung solcher) keine weitere Maßnahme nötig. Der Server erhält die notwendigen Informationen, um die Session wieder aufzunehmen. Ohne Cookies sind spezielle Vorkehrungen notwendig.

Hat schon einer Erfahrungswerte sammeln können, ob Sessions auch mit AJAX funktionieren?

Ja, ich schrieb bereits davon.
Ohne Cookies muss der XMLHttp-Request den Session-Namen und die Session-ID mitliefern (sinnvollerweise per GET). Sonst "erkennt" der Server den Benutzer hinter dem Request nicht.

Ich habe das so gelöst: Das Action-Attribut in meinem Formular enthielt neben dem empfangenden Script auch die Session-Variablen, falls der Client keine Cookies hat.

$action = 'mein_script.php';  
if (!isset($_COOKIE[session_name()])) {  
    // SESSION-ID anhängen  
    $action .= '?'.SID;  
    }  

Liebe Grüße aus Ellwangen,

Felix Riesterer.