[PHP] Reconnaitre le navigateur

jeff.p18 -  
kincus Messages postés 10 Statut Membre -
salut @ tous,

comment on fait en php pour reconnaitre le navigateur ?

je demande ça car j'ai de grosses différences d'affichage de mon site entre les navigateurs (décalages, sauts de lignes ...) ... cela me permettrait d'affiner celle-ci ... a moins qu'il y ait une meilleure solution ?

merci !

+

5 réponses

  1. frjedi
     
    Si, en 2008, ça marche bien. Script (que l'on peut améliorer pour les détails de la version) sous PHP 5 ; valable sous PHP 4 :

    <?php
    $var_nav = explode(' ',$_SERVER['HTTP_USER_AGENT']);
    $var_nav = $var_nav[0];
    $var_message = "Navigateur : ".$var_nav;
    if (ereg("MSIE 7", $_SERVER["HTTP_USER_AGENT"])) {
    $var_message .= " MSIE 7";
    } else if (ereg("MSIE 6", $_SERVER["HTTP_USER_AGENT"])) {
    $var_message .= " MSIE 6";
    } else if (ereg("MSIE 5", $_SERVER["HTTP_USER_AGENT"])) {
    $var_message .= " MSIE 5";
    } else if (ereg("MSIE", $_SERVER["HTTP_USER_AGENT"])) {
    $var_message .= " MSIE <= 4";
    } else if (ereg("Firefox/1", $_SERVER["HTTP_USER_AGENT"])) {
    $var_message .= " Firefox 1";
    } else if (ereg("Firefox/2", $_SERVER["HTTP_USER_AGENT"])) {
    $var_message .= " Firefox 2";
    } else if (ereg("Firefox/3", $_SERVER["HTTP_USER_AGENT"])) {
    $var_message .= " Firefox 3";
    } else if (ereg("Firefox/", $_SERVER["HTTP_USER_AGENT"])) {
    $var_message .= " Firefox";
    } else if (ereg("Opera/", $_SERVER["HTTP_USER_AGENT"])) {
    $var_message .= "Opera";
    } else if (ereg("Mozilla/", $_SERVER["HTTP_USER_AGENT"])) {
    $var_message[5] .= " Mozilla compatible Netscape";
    } else {
    $var_message[5] .= " Non déterminé";
    }
    ?>

    Pour améliorer le script, utilisez un simple
    <?php
    echo $_SERVER['HTTP_USER_AGENT'];
    ?>
    et analysez les chaînes obtenues sus différents navigateurs.
    20
  2. cmell
     
    en 2008 rien de tout cela ne semble fonctionner !
    1
  3. kre_vett
     
    merci pour le code mais ou est ce que je peut mettre des precision
    par exemple je voudrai que sur ie il mapelle que les balise <h1> <h2> <h3>
    et sur safari <h4><h5><h6>
    jesper que c'est clair merci davance
    0
    1. Archeus01 Messages postés 1566 Date d'inscription   Statut Membre Dernière intervention   455
       
      Bonjour, avec des if et des else...
      Sinon tu redéfinis simplement les valeurs de h1, h2, h3 en css... ca sera plus simple
      0
  4. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question