droom: Browserhöhe in PHP

Hallo Forum!

Ich kann anhang "document.body.clientHeight" in Javascript die aktuelle Browserhöhe ermitteln.
Nun weiss ich nicht, wie ich im selben Skript diese Höhe an PHP weitergeben kann. Darum die Frage: wie wird eine JS-Variable zu einer PHP-Variable?

  1. Hallo Forum!

    Ich kann anhang "document.body.clientHeight" in Javascript die aktuelle Browserhöhe ermitteln.
    Nun weiss ich nicht, wie ich im selben Skript diese Höhe an PHP weitergeben kann. Darum die Frage: wie wird eine JS-Variable zu einer PHP-Variable?

    du könntest dir diese Variable ja in das Formular als versteckted Feld geben und dann per JavaScript dieses Feld mit dem Wert belegen.

    Wenn das Formuar dann an ein PHP Skript geschickt wird, hast du dort die Variable in der normalen $_POST oder $_GET Variable, wo auch die anderen Formular elemente sind.

    Gruß
    Christian

    1. danke für die Antwort Christian! So werde ich es machen

  2. hab gemerkt, dass es eigentlich nur senden POST oder GET geschehen kann, da JS CLientseitig ist und PHP serverseitig aber kann ich irgendwie in PHP die Broserhöhe bestimmen?

    1. hi,

      hab gemerkt, dass es eigentlich nur senden POST oder GET geschehen kann, da JS CLientseitig ist und PHP serverseitig

      Wenn du das gemerkt hast -

      aber kann ich irgendwie in PHP die Broserhöhe bestimmen?

      • wieso stellst du dann diese Frage noch?

      gruß,
      wahsaga

      --
      /voodoo.css:
      #GeorgeWBush { position:absolute; bottom:-6ft; }
    2. Hallo!

      hab gemerkt, dass es eigentlich nur senden POST oder GET geschehen kann, da JS CLientseitig ist und PHP serverseitig aber kann ich irgendwie in PHP die Broserhöhe bestimmen?

      Nein. Du hast doch selber gemerkt, dass PHP serverseitig ist. Wie soll ein Server der vielleicht 500 Kilometer entfernt ist, wie hoch der Viewport ist. Du _musst_ Javascript dafür nehmen.

      ciao, ww

      --
      sh:(  fo:|  ch:~  rl:(  br:>  n4:~  ie:%  mo:)  va:)  de:]  zu:)  fl:(  ss:|  ls:~  js:)
      1. Hallo!

        hab gemerkt, dass es eigentlich nur senden POST oder GET geschehen kann, da JS CLientseitig ist und PHP serverseitig aber kann ich irgendwie in PHP die Broserhöhe bestimmen?

        Nein. Du hast doch selber gemerkt, dass PHP serverseitig ist. Wie soll ein Server der vielleicht 500 Kilometer entfernt ist, wie hoch der Viewport ist. Du _musst_ Javascript dafür nehmen.

        ciao, ww

        Man kann die ClientDaten ja trotzdem an den Server schicken...

        Mit AJAX könnte man ja sogar die Mausbewegung serverseitig in einer Datenbank speichern, wenn man lust dazu hat...
        (müsste doch gehen... glaub ich jedenfalls)

        oder immer wenn der User sein Window resized...

        Gruß
        Christian

        1. Hallo!

          [...]aber kann ich irgendwie in PHP die Broserhöhe bestimmen?

          Nein. Du hast doch selber gemerkt, dass PHP serverseitig ist.

          Man kann die ClientDaten ja trotzdem an den Server schicken...

          Das ändert nichts an der Tatsache, dass man mit PHP nicht die Höhe des Viewports abfragen kann. Und genau danach hat der Fragesteller gefragt.

          ciao, ww

          --
          sh:(  fo:|  ch:~  rl:(  br:>  n4:~  ie:%  mo:)  va:)  de:]  zu:)  fl:(  ss:|  ls:~  js:)
          1. Hi,

            Das ändert nichts an der Tatsache, dass man mit PHP nicht die Höhe des Viewports abfragen kann.

            Das kommt drauf an.

            Es gibt Browser, insbesondere mobile Clients, die die Größe des Viewports mitsenden - das kann man mit PHP auslesen.

            defBrowserConstants versucht, diese Angaben (die sich an unterschiedlichen Stellen in unterschiedlichen Formaten befinden können) auszulesen. Sollte das nicht funktionieren, so wird versucht, diese Daten aus "normalen" REQUEST-Daten zu ermitteln.

            D.h., man kann auch mit JS die Werte ermitteln, und als GET-Parameter dem Script übergeben (in der Form: script.php?AGENT_DISPLAY=240x320x16 - also Breite x Höhe x Farbtiefe), bzw. einen entsprechenden Cookie anlegen.

            Die Funktion setzt dann die entsprechenden Konstanten, mit denen man in PHP dann entsprechend agieren kann ...

            Gruß, Cybaer

            --
            Hinweis an Fragesteller: Fremde haben ihre Freizeit geopfert, um Dir zu helfen. Helfe Du auch im Archiv Suchenden: Beende deinen Thread mit einem "Hat geholfen" oder "Hat nicht geholfen"!
            1. Hallo!

              defBrowserConstants versucht, diese Angaben (die sich an unterschiedlichen Stellen in unterschiedlichen Formaten befinden können) auszulesen. Sollte das nicht funktionieren, so wird versucht, diese Daten aus "normalen" REQUEST-Daten zu ermitteln.

              Das wusste ich nicht. Allerdings könnte man sich hier wieder streiten, ob man die Fenstergröße per PHP abfragen kann, oder? :-) Es ist ja im Grunde genommen das gleiche, wie wenn ich die Daten mit JavaScript auslese und dann per GET an ein Script schicke. Die Daten werden doch in beiden Fällen nicht direkt von PHP ausgelesen, sondern der Browser oder eben JS schicken die Daten an PHP und dieses verarbeitet die Daten.

              ciao, ww

              --
              sh:(  fo:|  ch:~  rl:(  br:>  n4:~  ie:%  mo:)  va:)  de:]  zu:)  fl:(  ss:|  ls:~  js:)
              1. Hi,

                Allerdings könnte man sich hier wieder streiten, ob man die Fenstergröße per PHP abfragen kann, oder? :-)

                Darüber kann man nicht streiten, weil es nicht geht. ;-)

                Anders als Cheatah, finde ich die Größe des Bildschirms aber keineswegs irrelevant. Sicher, relevant ist ertmal die Größe des Viewports; sicher, für Handhelds gibt es einen eigenen CSS-Medientyp.

                Aber größer als der (ggf. auch virtuelle) Bildschirm kann der Viewport schon mal (sinnvollerweise) nicht sein, und leider unterstützen viele Handhelds den passenden CSS-Medeintyp nicht ...

                Es ist ja im Grunde genommen das gleiche, wie wenn ich die Daten mit JavaScript auslese und dann per GET an ein Script schicke. Die Daten werden doch in beiden Fällen nicht direkt von PHP ausgelesen, sondern der Browser oder eben JS schicken die Daten an PHP und dieses verarbeitet die Daten.

                Korrekt. Nur das eine Mal macht es der Browser halt automatisch, das andere Mal muß man manuell nachhelfen ...

                Gruß, Cybaer

                --
                Hinweis an Fragesteller: Fremde haben ihre Freizeit geopfert, um Dir zu helfen. Helfe Du auch im Archiv Suchenden: Beende deinen Thread mit einem "Hat geholfen" oder "Hat nicht geholfen"!
    3. Hello,

      hab gemerkt, dass es eigentlich nur senden POST oder GET geschehen kann, da JS CLientseitig ist und PHP serverseitig aber kann ich irgendwie in PHP die Broserhöhe bestimmen?

      Fragt sich, zu welchem Zeitpunkt Du das wissen willst.
      Du kannst in JavaScript die Funktion aufrufen und das Ergebnis in einem Hidden-Feld eines Formulares oder als Parameter mitsenden, vorausgestzt natürlich, dass der Client JavaScript unterstützt. Und dann kannst Du das Ergebnis auch nur "glauben", denn der Client kann Dir jede Fälschung schicken, die er prduziert bekommt. Dass das ein Clitn tut, ist allergings nicht die Regel :-)

      In PHP kannst Du den Parameter dann nach Belieben auswerten.

      Harzliche Grüße vom Berg
      http://www.annerschbarrich.de

      Tom

      --
      Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen
      Nur selber lernen macht schlau