PHP Variablen nicht vergleichbar?

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • PHP Variablen nicht vergleichbar?

    Hallo,

    ich bin mir nicht ganz sicher, ob ich hier im richtigen Unterforum bin, aber ich versuche es mal:

    Ich möchte die aktuelle Größe des Browserfensters ermitteln, und diese
    Variablen dann in PHP weiter nutzen. Ein kleines Stück habe ich geschafft,
    aber ich möchte daraus resultierend wissen, ob der Browser im Hochformat
    oder im Querformat genutzt wird.

    Mein Problem ist, dass ich die Variablen zwar bekomme, aber sie nicht
    Miteinander vergleichen kann.

    Wenn die $weite eines Fensters größer ist, als die $hoehe, dann ist das logische $format = quer.

    Offenbar sind die Variablen aber nicht numerisch, und somit nicht vergleichbar?!?!

    Ich hab schon versucht, die PHP Variablen zu typisieren, aber dann werden die Werte auf 0 gesetzt.

    Ich bitte um Hilfe!!!

    Danke & Gruß,

    Volker


    Code:
    <script type='text/javascript'>
    	<!--
    	var de = document.documentElement;
    	var weite = window.innerWidth || self.innerWidth || (de&&de.clientWidth) || document.body.clientWidth;
    	var hoehe = window.innerHeight || self.innerHeight || (de&&de.clientHeight) || document.body.clientHeight;
    	//-->
    	</script>
    
    <?
    
    $weite = "<script>document.write(weite)</script>";
    $hoehe = "<script>document.write(hoehe)</script>";
    
    $w = $weite;
    $h = $hoehe;
    
    echo (" Weite: $w - Höhe: $h ");
    
    if ($w<$h) { echo (" hoch "); } else { echo (" quer "); }
    
    ?>
    Gruss,

    Volker

  • #2
    Da ist JavaScript-Code dabei. Bei einem PHP-Problem bitte keinen JavaScript-Code posten und bei einem JavaScript-Problem bitte keinen PHP-Code posten. PHP- und JavaScript-Code sollte sowieso nicht vermischt werden.

    Kommentar


    • #3
      Moin,

      Ja, sorry, das gehört für mein Verständnis in diesem Fall aber untrennbar zusammen...?!

      Danke & Gruß,

      Volker
      Gruss,

      Volker

      Kommentar


      • #4
        Zitat von vs1 Beitrag anzeigen
        Ja, sorry, das gehört für mein Verständnis in diesem Fall aber untrennbar zusammen...?!
        Nein, PHP läuft am Server, JavaScript läuft am Client, komplett getrennt.

        Kommentar


        • #5
          Ich finde es ja nett, dass Du mich darauf aufmerksam machst,
          aber dennoch hilft es beim eigentlichen Problem nicht.

          Der Beitrag kann auch in ein anderes Forum verschoben werden, wenn es woanders besser passt.

          Da ich aber die Variablen aus dem Javascript bekomme, wollte ich lediglich mit angeben, dass sie daher stammen. Das eigentliche Problem, dass sie sich nicht vergleichen lassen, ist vielleicht auch darauf zurück zu führen - keine Ahnung. Genau deswegen frage ich um Hilfe!

          Wenn ich nur den PHP Code poste, und sich dann heraus stellt, dass mit den Variablen an sich etwas nicht stimmt, ist das auch nicht zielführend.

          Ich bin Anfänger und bitte bei einem Problem um Hilfe, bei dem ich nicht weiter komme. Wenn ich die Variablen nicht aus dem Javascript nehmen soll, dann sag mir bitte, wo ich diese Werte in PHP sonst herbekommen kann. Wenn ich das richtig gelesen und verstanden habe, dann kann mir PHP diese Werte nicht liefern.

          Also, was genau soll ich machen???

          Danke & Gruß,

          Volker
          Gruss,

          Volker

          Kommentar


          • #6
            Das was du machen willst geht nicht. Du kannst von PHP auf keine JavaScript-Variablen zugreifen, da JavaScript am Client läuft und PHP davon nichts mitbekommt.

            Davon abgesehen solltest du dir eher mal CSS Media Quieries anschauen. Denn dein "Problem", soweit ich es erkennen kann, ist eigentlich im Normalfall mit CSS und nicht mit PHP oder JavaScript zu lösen.

            https://wiki.selfhtml.org/wiki/CSS/M...es#orientation
            Zuletzt geändert von h3ll; 19.01.2018, 11:15.

            Kommentar


            • #7
              Danke für die Antwort.
              Ich werde mir das mal anschauen.

              Unabhängig davon verstehe ich dann aber folgendes nicht:

              Probiere bitte mal den Code aus. Speichere Dir das in eine test.php oder so, und rufe die mal auf.
              Man bekommt Werte in die PHP-Variablen. Die sind da, und korrekt.
              Das habe ich mit mehreren Browsern auf unterschiedlichen Geräten ausprobiert.
              Wieso habe ich denn da korrekte Werte?

              Und, da ja oftmals Javascript mit PHP in Kombination verwendet wird, ist es ja möglich, Variablen von Javascript nach PHP zu übergeben.
              Da muss es also einen Weg geben.
              Gruss,

              Volker

              Kommentar


              • #8
                Zitat von vs1 Beitrag anzeigen
                Probiere bitte mal den Code aus. Speichere Dir das in eine test.php oder so, und rufe die mal auf.
                Man bekommt Werte in die PHP-Variablen. Die sind da, und korrekt.
                Das habe ich mit mehreren Browsern auf unterschiedlichen Geräten ausprobiert.
                Wieso habe ich denn da korrekte Werte?
                Hat man nicht, du täuschst dich.

                Zitat von vs1 Beitrag anzeigen
                Und, da ja oftmals Javascript mit PHP in Kombination verwendet wird, ist es ja möglich, Variablen von Javascript nach PHP zu übergeben.
                Nein, das ist technisch nicht möglich.

                Dein Code gibt übrigens folgendes aus:
                Code:
                <script type='text/javascript'>
                	<!--
                	var de = document.documentElement;
                	var weite = window.innerWidth || self.innerWidth || (de&&de.clientWidth) || document.body.clientWidth;
                	var hoehe = window.innerHeight || self.innerHeight || (de&&de.clientHeight) || document.body.clientHeight;
                	//-->
                	</script>
                
                 Weite: <script>document.write(weite)</script> - Höhe: <script>document.write(hoehe)</script>  quer
                Es erfolgt die Ausgabe "quer" weil der String "<script>document.write(weite)</script>" größer ist als der String "<script>document.write(hoehe)</script>" und zwar aus dem Grund, weil W im Alphabet nach H kommt und somit größer ist.
                Zuletzt geändert von h3ll; 19.01.2018, 21:04.

                Kommentar

                Lädt...
                X