begin process at 2008 07 21 02:23:27
1 213 551 membres
20 nouveaux aujourd'hui
14 167 membres club

Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum.
Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : Mettre résolution d'écran en variable php [ Divers / Général ] (babatt92)

Mettre résolution d'écran en variable php le 12/05/2008 14:56:58

babatt92

Bonjour,
J'ai mis la résolution d'écran en variable php.
Le problème est vraiment étrange (mon code est ci-dessous). Sur une résolution par exemple 1600 le script rentre dans la première condition. Merci de votre aide.

$Resolution  = "<script type=\"text/javascript\">document.write(screen.width);</script>";

echo $Resolution."<br>";

If ($Resolution <= 1024) {
 echo "Yes ".$Resolution." = 1024";
 $Nmax = 9;    // nombre par page
 $Ligne  = 3;
} Else {
 echo "NO ".$Resolution." = 1024";
 $Nmax = 16;    // nombre par page
 $Ligne  = 4;
}


Re : Mettre résolution d'écran en variable php le 12/05/2008 15:54:02

gibozsec
Bonjour,

Le php est interprété par le serveur et le javascript par le client.

En gros, le code php est transformé par le serveur en page html puis envoyé à ton client ou le code javascript s'execute éventuellement (s'il ne l'a pas désactivé par exemple).

Tu ne peux donc pas récupèrer la résolution de cette manière.

Grrrrrrrrrrr

Re : Mettre résolution d'écran en variable php le 12/05/2008 18:32:36

babatt92

Même si je fais un rafraichissement de la page cela n'est pas pris en compte.
Comment faire autrement?


Re : Mettre résolution d'écran en variable php le 12/05/2008 20:56:11

Evangun
Hello,

je ne vais pas répondre directement à ta question car il y a plein de sites qui te donneront la réponse si tu cherches un peu.

Par contre je vais te donner un conseil : faire un site qui s'occupe de la taille de l'écran c'est vraiment la plaie.
Fais des pages à largeur fixe ou extensibles automatiquement (en %), mais évite les pages qui doivent être calculées d'après la résolution détectée par javascript.

à+

Re : Mettre résolution d'écran en variable php le 12/05/2008 21:30:47

babatt92

Le site est en % justement. Il y a un paginateur avec 9 produits 3 lignes et 3 colonnes. Donc au delà de 1200 en résolution je voudrais mettre 4 lignes et 4 colonnes pour occuper davantage d'espace.
J'ai trouvé des sites avec des redirections en passant en get mais autre chose. J'ai besoin de cette modification que sur une page.


Re : Mettre résolution d'écran en variable php le 12/05/2008 22:11:49

Evangun
Essaie d'utiliser les css en mettant les produits en float plutôt, qu'ils aillent à la ligne quand il reste de la place etc. Enfin si tu veux.

Si tu tiens à ta détection demande sur le forum javascript, ils ont surement une réponse toute prête.

à+

Re : Mettre résolution d'écran en variable php le 12/05/2008 23:51:46

babatt92

Trouvé comme un grand

$Reso = "<script type=\"text/javascript\">document.write(screen.width);</script>";
$Serveur = $_SERVER["REQUEST_URI"];

If (empty($Reso)) {
 header("Status: 301 Moved Permanently", false, 301);
 header("Location: ".$Serveur."&Reso=".$Reso);
 exit(); 
}


Re : Mettre résolution d'écran en variable php le 13/05/2008 09:36:13

malalam
(Admin CS)
Hello,

sauf que non, ça ne marche pas. Quand PHP est executé, Javascript ne l'a pas encore été? Donc $Reso, pour PHP, n'est pas égal à la résolution mais à la chaîne "<script type=\"text/javascript\">document.write(screen.width);</script>".
Evidemment, si tu fais un echo, tu verras la résolution puisque quand l'output sera balancé, le Javascript sera interprété...mais tu ne pourras pas t'en servir pour savoir en quelle résolution ton utilisateur se trouve.
La preuve par l'exemple, sachant que je suis en 1680 (change cette valeur par la largeur de ton écran) :
<?php
$Reso = "<script type=\"text/javascript\">document.write(screen.width);</script>";
$Serveur = $_SERVER["PHP_SELF"];

If (empty($Reso)) {
 header("Status: 301 Moved Permanently", false, 301);
 header("Location: ".$Serveur."&Reso=".$Reso);
 exit();
} elseif($Reso === '1680') {
    echo 'OK '.$Reso;
} else {
    echo 'KO '.$Reso;
}
?>

Tu verras que tu vas systématiquement entrer dans le dernier else.



Classé sous : variable, php, écran, résolution, resolution

Participer à cet échange

Pub



Appels d'offres

Dessins techniques
Budget : 60€
Animation Flash - Doma...
Budget : 370€
Application flash medi...
Budget : 1 000€

CalendriCode

Juillet 2008
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Téléchargements

Logiciels à télécharger sur le même thème :

Boutique

Boutique de goodies CodeS-SourceS