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 :

Utiliser une feuille de style selon le navigateur


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé Avatar de Jiraiya42
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    671
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 671
    Par défaut Utiliser une feuille de style selon le navigateur
    Bonjour,

    Pour mon site j'utilise du php et du css. Seulement Firefox et Internet Explorer ne reproduise pas à l'identique le design css. C'est pourquoi je voulais me faire un script utilisant une feuille de style pour chaque navigateur, j'ai fais ce script:

    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
    <html>
    <head>
    	<title></title>
    	<?
    		$navigateur = '$_SERVER['HTTP_USER_AGENT']'
    		if ($navigateur == Microsoft Internet Explorer)
    			{
    				<link href="/forme/style.css" rel="stylesheet" type="text/css">
    			}
    		else
    			{
    				if ($navigateur == Mozilla Firefox)
    					{
    						<link href="/forme/styleMF.css" rel="stylesheet" type="text/css">
    					}	
    			}
    	?>
    </head>
     
    <body>
    A savoir que ce fichier est mon fichier header donc il est normal qu'il soit incomplet, cependant lorsque je test...c'est page blanche

    Quelqu'un peut m'aider svp ?

  2. #2
    Membre éclairé Avatar de Jiraiya42
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    671
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 671
    Par défaut
    J'ai essayé ça aussi:

    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
    <html>
    <head>
    	<title></title>
    	<?
    		$navigateur = '$_SERVER['HTTP_USER_AGENT']';
    		if ($navigateur == "Microsoft Internet Explorer")
    			{
    				$style = "/forme/style.css";
    			}
    		else
    			{
    				if ($navigateur == "Mozilla Firefox")
    					{
    						$style = "/forme/style2.css";
    					}	
    			}
    	?>
    	<link href="$style" rel="stylesheet" type="text/css">
    </head>
     
    <body>
    ...sans succès

  3. #3
    Membre confirmé
    Inscrit en
    Juin 2005
    Messages
    35
    Détails du profil
    Informations forums :
    Inscription : Juin 2005
    Messages : 35
    Par défaut
    Salut

    Est-ce que le fait que
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <link href="$style" rel="stylesheet" type="text/css">
    soit en dehors des balises php est normal ?

    Et l'absence de echo aussi ?

  4. #4
    Membre éclairé Avatar de Jiraiya42
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    671
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 671
    Par défaut
    Citation Envoyé par gibigue
    Salut

    Est-ce que le fait que
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <link href="$style" rel="stylesheet" type="text/css">
    soit en dehors des balises php est normal ?

    Et l'absence de echo aussi ?
    Version mauvaise foi: "oui oui c'est normal c'est un nouveau style"
    Version honnète: "oups me suis planté"

    Ca donne ça:

    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
    <html>
    <head>
    	<title></title>
    	<?
    		$navigateur = '$_SERVER['HTTP_USER_AGENT']';
    		if ($navigateur == "Microsoft Internet Explorer")
    			{
    				$style = "/forme/style.css";
    			}
    		else
    			{
    				if ($navigateur == "Mozilla Firefox")
    					{
    						$style = "/forme/style2.css";
    					}	
    			}
    		echo "<link href="$style" rel="stylesheet" type="text/css">";
    	?>
    </head>
     
    <body>
    Mais ça marche toujours pas, ça n'affiche rien, page blanche, une idée svp ?

  5. #5
    Membre confirmé
    Inscrit en
    Juin 2005
    Messages
    35
    Détails du profil
    Informations forums :
    Inscription : Juin 2005
    Messages : 35
    Par défaut
    Regarde ce que contient $_SERVER['HTTP_USER_AGENT'] je ne pense pas qu'elle contienne exactemet "MS internet explorer" ou "Mozilla Firefox" tes conditions ne sont jamais vraies.

  6. #6
    Membre averti
    Profil pro
    Inscrit en
    Septembre 2002
    Messages
    22
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France

    Informations forums :
    Inscription : Septembre 2002
    Messages : 22
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    echo "<link href="$style" rel="stylesheet" type="text/css">";
    C'est louche. Proposition de syntaxe correcte :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    echo '<link href="'.$style.'" rel="stylesheet" type="text/css">';
    et d'accord avec gibique.

  7. #7
    Membre confirmé
    Inscrit en
    Juin 2005
    Messages
    35
    Détails du profil
    Informations forums :
    Inscription : Juin 2005
    Messages : 35
    Par défaut
    Tu n'a pas à vérifier toute la chaine. Tu ne pourras jamais traiter tous les cas possibles. Les utilisateurs de 1.5.0.3 et < qu'en fais-tu ? Et ceux qui n'utilisent pas Windows XP ? Sans parler des personnes qui utilises Opera, Konqueror, Safari...
    Ne vérifie qu'une partie de $_SERVER['HTTP_USER_AGENT'].
    Tu aurais déjà un cas un peu plus général, par exemple, en cherchant la sous-chaine Firefox, MSIE et propose un cas par défaut en cas d'echec.

  8. #8
    Membre éclairé Avatar de Jiraiya42
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    671
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 671
    Par défaut
    Citation Envoyé par gibigue
    Tu n'a pas à vérifier toute la chaine. Tu ne pourras jamais traiter tous les cas possibles. Les utilisateurs de 1.5.0.3 et < qu'en fais-tu ? Et ceux qui n'utilisent pas Windows XP ? Sans parler des personnes qui utilises Opera, Konqueror, Safari...
    Ne vérifie qu'une partie de $_SERVER['HTTP_USER_AGENT'].
    Tu aurais déjà un cas un peu plus général, par exemple, en cherchant la sous-chaine Firefox, MSIE et propose un cas par défaut en cas d'echec.
    Oui mais ce n'est qu'un test pour l'instant, ce sont exactement les caractéristiques de mon navigateur donc il y a un problème dans mon script puisque ça n'affiche rien mais je regarde là pour extraire la chaine

  9. #9
    Membre confirmé
    Inscrit en
    Juin 2005
    Messages
    35
    Détails du profil
    Informations forums :
    Inscription : Juin 2005
    Messages : 35
    Par défaut
    Je suis déjà surpris que cette ligne ne te renvoi aucune erreur.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $navigateur = '$_SERVER['HTTP_USER_AGENT']';
    J'enleverrai les guillemets simples. C'est une notion basique. Les variables contenues dans les simple quotes ne sont par interprétées.

  10. #10
    Membre éclairé Avatar de Jiraiya42
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    671
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 671
    Par défaut
    Citation Envoyé par gibigue
    Je suis déjà surpris que cette ligne ne te renvoi aucune erreur.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $navigateur = '$_SERVER['HTTP_USER_AGENT']';
    J'enleverrai les guillemets simples. C'est une notion basique. Les variables contenues dans les simple quotes ne sont par interprétées.
    J'ai mis ça:

    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
    <html>
    <head>
    	<title></title>
     
    	<?
    		$navigateur = substr('$_SERVER['HTTP_USER_AGENT']', 1, 7);
    		if ($navigateur == "Mozilla")
    			{
    				$style = "/forme/style.css";
    			}
    		else
    			{
    				if ($navigateur == "MSIE   ")
    					{
    						$style = "/forme/style2.css";
    					}
    			}
    		echo '<link href="'.$style.'" rel="stylesheet" type="text/css">';
    	?>
     
     
    </head>
     
    <body>
    Mais ça n'affiche rien, rien du tout, pas de mess une page blanche

  11. #11
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2006
    Messages
    134
    Détails du profil
    Informations personnelles :
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Février 2006
    Messages : 134
    Par défaut
    il faut coder ceci pour recupérer Mozilla
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    $navigateur = substr($_SERVER['HTTP_USER_AGENT'], 0, 7);
    il faut coder ceci pour recupérer Mozilla.
    -> donne Mozilla avec firefox ey ie

Discussions similaires

  1. Réponses: 0
    Dernier message: 28/01/2013, 10h11
  2. Comment avoir une feuille de style correcte pour les navigateurs ?
    Par Kitetkat dans le forum Mise en page CSS
    Réponses: 7
    Dernier message: 14/04/2012, 16h26
  3. Xalan c++ : forcer l'utilisation d'une feuille de style
    Par mbibim63 dans le forum XSL/XSLT/XPATH
    Réponses: 2
    Dernier message: 27/08/2008, 10h31
  4. Feuille de style selon le navigateur
    Par Jiraiya42 dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 03/09/2007, 20h36
  5. Comment utiliser une feuille de style dans Frontpage 2003 ?
    Par fmd92 dans le forum Mise en page CSS
    Réponses: 5
    Dernier message: 16/11/2006, 20h03

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