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

Mise en page CSS Discussion :

PHP appelle CSS selon browser


Sujet :

CSS

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Février 2009
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2009
    Messages : 2
    Points : 2
    Points
    2
    Par défaut PHP appelle CSS selon browser
    Bonsoir, je suis en train de developper un petit site style portfolio mais j'ai un souci avec mozilla (pour nue fois ^^).

    J'ai trouver sur le net un petit code php pour deceler le browser sur lequel le visiteur arrive. Je l'ai adapté pour que si c'est internet expplorer, il charge le fichier ie.css et sinon le fichier firefox.css. Seulement, quand je fait un echo de la valeur browser alors qu eje suis sur mozilla et ben il m'affiche un joli internetexplorer. Je ne comprends donc pa spourquoi la valeur $browser et toujours==internetexplorer. Si quelqu'un peut m'aider ca serai fort aimable ^^.

    Merci d'avance.


    Le code php :

    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
    22
    23
    24
    25
    26
    27
    28
    29
    30
    <?php   if ((ereg("Nav", getenv("HTTP_USER_AGENT" ))) || (ereg("Gold", getenv("HTTP_USER_AGENT" ))) ||
               (ereg("X11", getenv("HTTP_USER_AGENT" ))) || (ereg("Mozilla", getenv("HTTP_USER_AGENT" ))) ||
               (ereg("Netscape", getenv("HTTP_USER_AGENT" )))AND (!ereg("MSIE", getenv("HTTP_USER_AGENT" )))
                 AND (!ereg("Konqueror", getenv("HTTP_USER_AGENT" ))) AND (!ereg("Firefox", getenv("HTTP_USER_AGENT" )))
                  AND (!ereg("Safari", getenv("HTTP_USER_AGENT" ))))
                    $browser = "Netscape";
                  elseif (ereg("Opera", getenv("HTTP_USER_AGENT" )))
                    $browser = "Opera";
                  elseif (ereg("MSIE", getenv("HTTP_USER_AGENT" )))
                  $browser = "InternetExplorer";
                 elseif (ereg("Lynx", getenv("HTTP_USER_AGENT" )))
                  $browser = "Lynx";
               elseif (ereg("WebTV", getenv("HTTP_USER_AGENT" )))
                 $browser = "WebTV";
                 elseif (ereg("Konqueror", getenv("HTTP_USER_AGENT" )))
                  $browser = "Konqueror";
                 elseif (ereg("Safari", getenv("HTTP_USER_AGENT" )))
                   $browser = "Safari";
                 elseif (ereg("Firefox", getenv("HTTP_USER_AGENT" )))
                  $browser = "firefox";
                elseif ((eregi("bot", getenv("HTTP_USER_AGENT" ))) || (ereg("Google", getenv("HTTP_USER_AGENT" ))) ||
                (ereg("Slurp", getenv("HTTP_USER_AGENT" ))) || (ereg("Scooter", getenv("HTTP_USER_AGENT" ))) ||
                (eregi("Spider", getenv("HTTP_USER_AGENT" ))) || (eregi("Infoseek", getenv("HTTP_USER_AGENT" ))))
               $browser = "Bot";
                else
               $browser = "Autre";   
     
     
     
       ?>
    et le chargement du css :


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     <?php
    if ($browser='InternetExplorer') {
       echo '<link href="mise_en_page/ie.css" rel="stylesheet" type="text/css" />';} 
    else { 
       echo '<link href="mise_en_page/firefox.css" rel="stylesheet" type="text/css" />'; 
    } echo $browser;
    ?>

  2. #2
    Rédacteur
    Avatar de Macmillenium
    Homme Profil pro
    Développeur front-end
    Inscrit en
    Mars 2008
    Messages
    2 333
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur front-end
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Mars 2008
    Messages : 2 333
    Points : 3 747
    Points
    3 747
    Par défaut
    Bonsoir,

    Je n'ai pas bien vérifié mais quelque chose ne va pas dans tes instructions.

    Cela fonctionne bien si tu fait directement :
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
     <?php
    if (ereg("MSIE", getenv("HTTP_USER_AGENT" ))) {
       echo '<link href="mise_en_page/ie.css" rel="stylesheet" type="text/css" />';} 
    else { 
       echo '<link href="mise_en_page/firefox.css" rel="stylesheet" type="text/css" />'; 
    } echo $browser;
    ?>

  3. #3
    Membre habitué Avatar de Alt157
    Profil pro
    Inscrit en
    Février 2009
    Messages
    143
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2009
    Messages : 143
    Points : 146
    Points
    146
    Par défaut
    Bonsoir,

    pourquoi passer par php alors qu'on peut le faire sous html:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    <head>
    <link rel="stylesheet" style="text/css" href="style.css" />
    <!--[if IE]>
    <link rel="stylesheet" style="text/css" href="ie.css" />
    <![endif]-->
    </head>
    Comme cela tu n'as pas besoin de retaper deux css différents. Tu tapes ton css dans style.css et tu mets juste les modifications a apporter pour l affichage sur IE dans ie.css. A part bien entendu si tu fais deux designs différents selon le navigateur.... ?

    Petite documentation : doc

  4. #4
    Candidat au Club
    Profil pro
    Inscrit en
    Février 2009
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2009
    Messages : 2
    Points : 2
    Points
    2
    Par défaut
    Je prefere utiliser le php, je trouve cela plus propre. De plus, je sais mieux ce que je fais avec. En tous cas merci a vous tous je vais essayer ça de suite et vous dit si ça a marché.


    EDIT: les deux marchent je prends le php mai sje me mets de coté le xhtml qui peut s'avérer utile. Le seul truc c'est que le echo $browser en sert plus a rien car il n'y a plus de fonction. Je dis ca pour les gens qui aurait eu le même souci que moi. Merci encore a vous.

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

Discussions similaires

  1. Réponses: 6
    Dernier message: 08/06/2008, 11h20
  2. [PHP-JS] affiche selon liste déroulante
    Par cell dans le forum Langage
    Réponses: 10
    Dernier message: 10/12/2006, 22h39
  3. [CSS] fichiers css selon navigateur
    Par ph_anrys dans le forum Mise en page CSS
    Réponses: 2
    Dernier message: 23/02/2006, 14h21
  4. [PostgreSQL] [PostGreSQL] menu dynamique php-postgre-css
    Par tyrann dans le forum PHP & Base de données
    Réponses: 6
    Dernier message: 02/11/2005, 17h23
  5. Appeler le navigateur (browser) par défaut
    Par Kantizbak dans le forum API standards et tierces
    Réponses: 3
    Dernier message: 09/09/2005, 15h45

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