EIgene Session-Werte (Ajax)
Eingetragen von ExeCRabLE (1)
am 06.08.2009 - 07:30 Uhr in
am 06.08.2009 - 07:30 Uhr in
Guten Morgen !
Ich möchte bei meiner Seite einige Einstellungen die der Gast/Benutzer vornimmt in einer PHP-Session speichern z.B. Fenster auf/zu oder ähnliches. Nun wollte ich die Funktion über ein HTTP_REQUEST lösen und durch den Aufruf einfache "Flags" in der PHP-Session setzen.
Momentan sind bei mir alle Versuche gescheitert und daher wollte ich nochmal bei "null" Anfangen und bei euch nachfragen, wie man das am besten lösen kann und wo ich bei Drupal aufpassen sollte.
Gibt es für Besucher eine PHP-Session und wenn ja, wie kann ich mich dort einklinken... Wenn nicht, habt ihr vieleicht ein gute Lösung ?!
Gruß
ExeCRabLE
- Anmelden oder Registrieren um Kommentare zu schreiben
Re: EIgene Session-Werte (Ajax)
am 06.08.2009 - 10:54 Uhr
Du könntest die Daten natürlich auch direkt per Javascript in ein Cookie schreiben. Es gibt auch andere Methoden, mittels Javascript auf dem Client Daten zu speichern: Dom Storage in guten Browsern, userData in IE5, IE6 und IE7.
Gibt es für Besucher eine PHP-Session ...
Ja.
... und wenn ja, wie kann ich mich dort einklinken...
Du brauchst ein Modul, das den Ajax-Request entgegennimmt und die entsprechende Werte in die Session einträgt. Ob's so ein Modul gibt, weiß ich nicht, ist aber mit ein wenig PHP-Kentnissen leicht zu entwickeln. Du brauchst eine *.info-Datei um dein Modul dem Drupal-Kern bekannt zu machen und eine *.module-Datei wo der PHP-Code des Moduls steht. In der *.module-Datei implementierst du hook_menu() und gibst dort den Callback für die URL an, an die der Ajax-Request gesendet wird. Die Callback-Funktion speichert die Werte in $_SESSION. Am besten speicherst du die Werte in einem eigenen Array $_SESSION['name_of_your_module'], damit du nicht Werte von anderen überschreibst (kann sonst leicht zu Sicherheitsproblemen führen).
--