[PHP] Reconnaitre le navigateur

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. 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
    1. en 2008 rien de tout cela ne semble fonctionner !
      1
      1. 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. 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