• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

PHP Variable vergleichen

AxelBLN

Neues Mitglied
Hallo,

ich will die Auflösung per PHP ermitteln und dann auswerten - geht aber irgend wie nicht. Was mache ich falsch ?

$myWidth = '<script> document.write(window.innerWidth); </script>';
// echo $myWidth;

$a="1980";

if ($myWidth < $a) echo "kleiner";


$myWidth ist bei mir 1680, gibt er aus, also müsste er doch "kleiner" ausgeben, oder ?
Wer kann helfen ?
 
Zuletzt bearbeitet:
Hallo,

ich will die Auflösung per PHP ermitteln und dann auswerten - geht aber irgend wie nicht. Was mache uch falsch ?

$myWidth = '<script> document.write(window.innerWidth); </script>';
// echo $myWidth;

$a="1980";

if ($myWidth < $a) echo "kleiner";


$myWidth ist bei mir 1680, gibt er aus, also müsste er doch "kleiner" ausgeben, oder ?
Wer kann helfen ?
Das wird so nicht funktionieren. Denn du übergibst der Variable $myWidth lediglich einen String und nicht das Ergebnis was dir JavaScript mit der Funktion liefern würde. Außerdem solltest du Zahlenwerte bzw. Integer, ohne Hochkommata kennzeichnen. Du müsstest also deine Breite in JavaScript ermitteln und dann weiter geben.
 
Das bekomme ich leider nicht anders hin. Das es daran liegt dachte ich mir schon.
Was muss man da umformulieren, dass das Script funktioniert ?
 
Man müsste ja nur den String $myWidth in einen INT umwandeln und dann $a als 1980 definieren. Aber wie ?
Du hast in deiner Variable immer noch '<script> document.write(window.innerWidth); </script>' drinne stehen, da bringt das Typecasting auch nichts.

Eine Möglichkeit wäre mit JavaScript / jQuery per POST dir die Daten, an dein PHP-Skript zu übergeben und dann zu verarbeiten.
 
Geht auch nicht.

2 $myWidth = '<script> document.write(window.innerWidth); </script>';
5 $a=2100;
6 $w=(int)$myWidth;
7 echo $w;
8
9 exit;
 
Geht auch nicht.

2 $myWidth = '<script> document.write(window.innerWidth); </script>';
5 $a=2100;
6 $w=(int)$myWidth;
7 echo $w;
8
9 exit;
Kann auch nicht funktionieren!
PHP wird auf dem Server interpretiert und liefert idealerweise ein fertiges Dokument an den Browser. Der Browser interpretiert erst das JavaScript, daher kann das PHP-Script Dir da überhaupt nicht helfen!

Einzige Möglichkeit wie bereits angesprochen einen Ajax-Request mit dem Wert von window.innerWidth ( hier auch auf Browser-Abhängigkeit achten! ) abzusetzen und den Response von PHP dann weiter verarbeiten.

Da aber stellt sich die Frage: Wofür braucht man sowas???

Gruß Arne
 
Wenn überhaupt, dann die Größe des Viewports clientseitig per resize() Event ermitteln. Wozu hier Ajax benötigt werden sollte, erschließt sich mir nicht.

Davon abgesehen lässt sich das Format eines Bildes analog zum Viewport mittels Media-Queries innerhalb des Stylesheets festlegen, und für Bildwechsel gibt es das <picture> Element.
 
Zurück
Oben