|
|
|
|
Bonjour, je rencontre un problème pour détecter la résolution de l'utilisateur via javascript et la transférer dans une variable PHP:
Je pensai que cela allez suffire:
<?php $size = echo '<script language=\"JavaScript\">screen.width</script>'; ?>
Mais une erreur m' est retourné, pour précision j'utilise la variable $size pour permettre l'adaptation de mes images (bannière, menu, ...) à la résolution de l'utilisateur via d'autres variables:
<?php
if ($size <= 900)
{
$banniere = 800;
$menu = 'P';
}
else ($size >= 1300)
{
$banniere = 1280;
$menu = 'G';
}
else
{
$banniere = 1024;
$menu = 'M';
}
?>
Merci d'avoir prit la peine de lire mon problème !
Configuration: Windows XP Firefox 3.5.3
Bonjour,
|
Merci pour ton aide, une fois posé le problème était effectivement évident. J'ai cependant trouvé une solution autre, l'utilisation d'une page supplémentaire contenant un formulaire caché pour transmettre la résolution de l'utilisateur:
<body onload="document.formRes.resolution.value = screen.width; document.formRes.submit();"> <p style="text-align:center">Vous allez être redirigé dans quelques secondes...<br/> si la redirection automatique ne fonctionne pas cliquez <a href="accueil.php">ici</a></p> <form method="post" action="accueil.php" name="formRes"> <input type="hidden" name="resolution"> </form> </body> récupéré par la suite sur la page principale du site: $size = $_POST['resolution']; la redirection est en réalité instantanée mais on prévoit le cas ou le serveur serait saturé... |
J'ai cependant un autre problème, la résolution est enregistré dans une variable de session pour être effective sur toute les pages de mon site web.
<?php
if ( isset($_POST['resolution']))
$_SESSION['resolution'] = $_POST['resolution'];
if ($_SESSION['resolution'] <= 900)
{
$banniere = 800;
$menu = 'P';
}
else if ($_SESSION['resolution'] >= 1200)
{
$banniere = 1280;
$menu = 'G';
}
else
{
$banniere = 1024;
$menu = 'M';
}
?>
Le problème est que lorsque j'accède à une nouvelle page du site, j'obtiens un jolie message d'erreur: "Notice: Undefined index: resolution in C:\...\monInclude.php on line 21" la ligne 21 correspondant au début de mon "if"... |
Est-ce que tu as bien l'instruction 'session_start()' au début de toutes tes pages PHP ?
|