Sven Rautenberg: Java Script variable an PHP übergeben

Beitrag lesen

Yo!

ist im Prinzip klar. Die Idee war ja, den Javascript-Part schon mal mit flush() (oder in einem Frameset) an den Browser zu senden, um dann beim Schicken des Rests gleich den eben gesetzten Cookie per PHP auszulesen.

Der Cookie wird erst beim nächsten Seitenaufruf an den Server geschickt. Da kannst du mit Javascript Cookies setzen, soviel du willst. Der Cookie ist nämlich ein Bestandteil des HTTP-Headers, den der Browser an den Server sendet. Und wenn PHP aktiv ist, dann hat der Server diesen Header schon lange empfangen.

Ok, man kann diese Senderei natürlich provozieren, indem z.B. vom Javascript aus "Bilder" geladen werden, die in Wirklichkeit ebenfalls Scripte sind. Nur wird es schwierig werden, die Cookie-Informationen dann in die bereits laufende Seite zu pflanzen.

Ok, das könnte man eventuell auch noch hinkriegen, indem man die Daten vom Bilderscript aus in eine Datenbank oder Datei schreibt, und mit dem Seitenscript solange wartet, bis die Information da ist - dann _muß_ aber zwingend das flush() funktionieren. Und das kann man leider nicht garantieren, da zu viele Zwischenstationen (Proxys etc.) einem das Ergebnis (eine sozusagen gestreamte HTML-Datei) versauen können.

Na ja, ist auch egal wenn's nicht geht - ich wüßte sowieso keine praktische Anwendung. D.h. doch, vielleicht könnte man so z.B. die Bildschirmgröße oder irgendeinen anderen nur per Javascript zugänglichen Parameter an den Server übermitteln und gleich eine passende Seite ausliefern ...

Dann lieber eine Vorschaltseite machen, auf der mit Javascript die Informationen abgefragt werden, die man will. Dann ist auf der nächsten Seite alles in Butter.

Wer's ganz schlau machen will, bastelt für jede seiner Seiten solch eine Doppelseite - dann muß man aber zwingend mit Sessions arbeiten. Und das ist für das simple Ausliefern von Seiten nun wirklich Overkill.

- Sven Rautenberg