IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

[PHP-JS] Récupérer la résolution de l'écran du client ?


Sujet :

Langage PHP

  1. #1
    Membre actif

    Homme Profil pro
    Inscrit en
    Septembre 2002
    Messages
    472
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Septembre 2002
    Messages : 472
    Points : 262
    Points
    262
    Par défaut [PHP-JS] Récupérer la résolution de l'écran du client ?
    Bonjour,

    Je souhaiterai récupérer la résolution de l'écran du client. Comme cela n'est pas possible en PHP, je vais utiliser du JavaScript :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    screen.width
    screen.height
    Comment récupérer ses informations de manière discrète et rapide lors du chargement d'une page ?

    Merci d'avance,
    Mathieu
    Embarcadero RAD Studio XE / Microsoft Windows 7 Édition Intégrale (64 bits)

  2. #2
    Membre régulier
    Inscrit en
    Juillet 2006
    Messages
    145
    Détails du profil
    Informations personnelles :
    Âge : 40

    Informations forums :
    Inscription : Juillet 2006
    Messages : 145
    Points : 74
    Points
    74
    Par défaut
    Je me demande si les navigateur envoie pas un HEADER avec les infos de résolution d'écran quand il fait une requète à PHP ?

    sinon essai ça en JS :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
     <?
    if(!isset($_GET['r']))
    {
    echo "<script language=\"JavaScript\">
    <!-- 
    document.location=\"$PHP_SELF?r=1&Largeur=\"+screen.width+\"&Hauteur=\"+screen.height;
    //-->
    </script>";
    }
    else {    
     
    // Code à afficher en cas de détection de la résolution d'affichage
         if(isset($_GET['Largeur']) && isset($_GET['Hauteur'])) {
                   // Résolution détectée
         }
         else {
                   // Résolution non détectée
         }
    }
     
    ?>
    L'idéal serai ensuite de le stocker dans un cookie pour le récupérer plus facilement par la suite
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    $_COOKIE['hauteur_ecran']
    $_COOKIE['largeur_ecran']
    tu pourra utiliser PHP ou JS pour créer les cookie

  3. #3
    Membre actif

    Homme Profil pro
    Inscrit en
    Septembre 2002
    Messages
    472
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Septembre 2002
    Messages : 472
    Points : 262
    Points
    262
    Par défaut
    Bonjour,

    Citation Envoyé par Are-no
    Je me demande si les navigateur envoie pas un HEADER avec les infos de résolution d'écran quand il fait une requète à PHP ?
    C'est à dire ?

    J'ai cherché sur Google, j'ai pas trouvé d'informations dans ce sens...

    Avez-vous d'autres idées ?

    Merci,
    Mathieu
    Embarcadero RAD Studio XE / Microsoft Windows 7 Édition Intégrale (64 bits)

  4. #4
    Membre régulier
    Inscrit en
    Juillet 2006
    Messages
    145
    Détails du profil
    Informations personnelles :
    Âge : 40

    Informations forums :
    Inscription : Juillet 2006
    Messages : 145
    Points : 74
    Points
    74
    Par défaut
    tu a essayé avec le JS ? (la premiere ligne de mon message d'avant avais rien avoir avec le reste)

  5. #5
    Membre actif

    Homme Profil pro
    Inscrit en
    Septembre 2002
    Messages
    472
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Septembre 2002
    Messages : 472
    Points : 262
    Points
    262
    Par défaut
    Bonjour,

    La solution JavaScript que tu proposes fonctionne mais je voulais savoir si il existait d'autres solutions

    Merci,
    Mathieu
    Embarcadero RAD Studio XE / Microsoft Windows 7 Édition Intégrale (64 bits)

  6. #6
    Candidat au Club
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Mars 2011
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Mars 2011
    Messages : 4
    Points : 4
    Points
    4
    Par défaut
    Citation Envoyé par Are-no Voir le message
    ...

    L'idéal serai ensuite de le stocker dans un cookie pour le récupérer plus facilement par la suite
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    $_COOKIE['hauteur_ecran']
    $_COOKIE['largeur_ecran']
    tu pourra utiliser PHP ou JS pour créer les cookie
    Ok merci pour ce post qui m'a permit de trouver une solution.
    Perso en tout début de page, je stocke la résolution dans un cookie via ce code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
     
     
    <?php
    //Si les cookies qui contiennent la resolution sont vides, on s arrange pour les remplir
    //Idealement, au prealable, verifier que les cookies sont supportés
    if (empty($_COOKIE["varwidth"])){
    	//Si on a pas la largeur de l ecran dans une variable
    	if(empty($w)){
    		//On génère un Javascript qui va mettre la résolution dans l'entête et on reposte la page sur elle même
    		echo '<script language="JavaScript">  
    		document.location="index.php?w="+screen.width+"&h="+screen.height; 
    		</script>';
    	}
    	//Si la resolution est dans l entete, on la stocke dans le cookie
    	else{
    		setcookie("varwidth", $w);
    		setcookie("varheight", $h);
    	}
    }
    ?>

  7. #7
    Expert éminent sénior

    Homme Profil pro
    Développeur Web
    Inscrit en
    Septembre 2010
    Messages
    5 380
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Septembre 2010
    Messages : 5 380
    Points : 10 410
    Points
    10 410
    Par défaut
    Si vous n'avez pas besoins d'utiliser ces informations dans la page d'index, on peut aussi imaginer envoyer le cookie en javascript, ce qui éviterait de recharger la page d'accueil... ou une requête ajax qui pourrait aussi enregistrer ces valeurs dans une (ou des) variable de session...

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Récupérer la résolution de l'écran en VBS
    Par pods2009 dans le forum VBScript
    Réponses: 2
    Dernier message: 02/09/2009, 17h35
  2. Réponses: 1
    Dernier message: 28/05/2009, 14h45
  3. récupérer résolution de l'écran
    Par keks42 dans le forum VBA Access
    Réponses: 3
    Dernier message: 03/09/2008, 09h53
  4. Récupérer la résolution de l'écran
    Par JPJHT dans le forum VBA Access
    Réponses: 3
    Dernier message: 25/10/2007, 15h41

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo