![Citation](https://forum.developpez.be/images/misc/quote_icon.png)
Envoyé par
zoom61
Salut,
Le script complet est le suivant :
1 2 3 4 5 6 7 8 9 10 11 12 13
| ...
<SCRIPT LANGUAGE="JavaScript">
EcranHaut = screen.height;
EcranLarg = screen.width;
</SCRIPT>
...
$hauteur = "<script>document.write(EcranHaut);</script>";
$largeur = "<script>document.write(EcranLarg);</script>";
if (($hauteur < 400) || ($largeur < 600))
{echo "Hauteur : ".$hauteur." - Largeur : ".$largeur." - Inférieur";}
else
{echo "Supérieur";}
... |
Et j'obitents à l'affichage :
"Hauteur : 800 - Largeur : 1280 - Inférieur"
???
Bonjour,
vous mélangez php et javascript qui ont deux contextes d'exécution différents.
Ici, PHP (qui s'exécute sur le serveur, donc en premier) va interpréter votre page et générer le HTML suivant :
1 2 3 4 5 6 7 8
| ...
<SCRIPT LANGUAGE="JavaScript">
EcranHaut = screen.height;
EcranLarg = screen.width;
</SCRIPT>
...
Hauteur : <script>document.write(EcranHaut);</script> - Largeur : <script>document.write(EcranLarg);</script> - Inférieur
... |
parce que vu de PHP, les variable $hauteur et $largeur ont le contenu textuel.
1 2 3
|
$hauteur = "<script>document.write(EcranHaut);</script>";
$largeur = "<script>document.write(EcranLarg);</script>"; |
ces variables contenant du texte vont ensuite être comparées à des valeurs numériques, mais vu de PHP la comparaison va obliger PHP à convertir la chaine en numérique, ce qu'il n'arrivera pas à faire et donnera donc la valeur 0 à comparer à vos variables $hauteur et $largeur, ce qui fait que la condition suivante est vérifiée :
if (($hauteur < 400) || ($largeur < 600))
Lorsque PHP a généré sa page, elle est ensuite envoyée au navigateur, qui lui, va réaliser la substitution à l'affichage du contenu des balises <script> générées par PHP.
C'est ce que vous pouvez vérifier à l'affichage car, de fait vous avez bien les valeurs numériques affichées. Par contre, en explorant le code HTML généré vous devriez pouvoir observer que ces valeurs numériques ne sont pas en dans le code HTML, mais plutot les balises de <script> générées.
Tout ça pour dire que côté PHP, vous ne pourrez pas accéder de cette manière à la taille de votre viewport. Il faudra peut-être transmettre cette information lors de l'envoi de la requete HTTP au serveur pour que PHP puisse la traiter.
HTH.
Partager