[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.
    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
      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