php-resource




Archiv verlassen und diese Seite im Standarddesign anzeigen :
PHP Variablen nicht vergleichbar?


 
vs1
19-01-2018, 10:46 
 
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


<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 "); }

?>

 
h3ll
19-01-2018, 11:02 
 
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.

 
vs1
19-01-2018, 11:19 
 
Moin,

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

Danke & Gruß,

Volker

 
h3ll
19-01-2018, 11:25 
 
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.

 
vs1
19-01-2018, 11:36 
 
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

 
h3ll
19-01-2018, 11:53 
 
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/Media_Queries#orientation

 
vs1
19-01-2018, 16:30 
 
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.

 
h3ll
19-01-2018, 21:59 
 
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.

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:<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.

- -

Alle Zeitangaben in WEZ +2. Es ist jetzt 12:49 Uhr.