Bonjour à tous amis du web !

je suis en train de réaliser un site perso (ah bon !?),
et je suis face à un problème avec IE 6

mise en situation :
j'utilise un switcher qui me permet de passer d'un style à un autre.
il y a 2 jours de ça, mon site ne disposait d'aucune css compatible à IE 7,
mon code était le suivant, et il fonctionnait parfaitement

<link href="css/<?php echo $_SESSION['css']; ?>" rel="stylesheet" media="screen" type="text/css"  />
<!--[if IE]>
<link href="css/ie6_<?php echo $_SESSION['css']; ?>" rel="stylesheet" type="text/css" />


par la suite, j'ai édité une css pour IE 7, j'ai donc complété le code de cette manière :

<link href="css/<?php echo $_SESSION['css']; ?>" rel="stylesheet" media="screen" type="text/css"  />
<!--[if IE 6]>
<link href="css/ie6_<?php echo $_SESSION['css']; ?>" rel="stylesheet" type="text/css" />
<![endif]-->
<!--[if IE 7]>
<link href="css/ie7_<?php echo $_SESSION['css']; ?>" rel="stylesheet" type="text/css" />
<![endif]-->


j'ai tenté plusieurs manœuvres, entre autres, en utilisant des lt / lte / gt / gte.
et j'en arrive à la conclusion suivante : le probleme vient du "6" de "IE 6"
car le code suivant ne prends pas en compte IE 6 :

<!--[if IE 6]>
<link href="css/ie6_<?php echo $_SESSION['css']; ?>" rel="stylesheet" type="text/css" />
<![endif]-->

hormis le défaut de présentation dû à la non prise en compte de IE6, j'ai un 2nd bogue qui s'ajoute au 1er :
sous IE 6, à chaque clique sur n'importe quel bouton, le style par défaut est rappelé.

nb : le site fonctionne parfaitement sous IE 6 quand j'utilise <!--[if IE]>

auriez vous une idée ???

merci à vous
Modifié par Guim (14 Dec 2007 - 14:51)
une petite précision :
quand j'inscris if IE 7,
le site choisi bien la css destinée à IE 7

le bogue se pose uniquement avec le 6 d'IE 6
Bonjour Smiley smile

Que renvoie <?php echo $_SESSION['css']; ?> ?

Une page en ligne permettrait également d'avancer Smiley cligne
Modifié par BeliG (15 Dec 2007 - 15:50)
Bonjour Belig, merci à toi de porter un intérêt à mon fardeau...

tout d'abord, voici l'url :
http://greene.g.free.fr/ [/url]
(on ne se moque pas, le site est en pleine élaboration Smiley cligne

le code php vient du switcher,

voici le code avant le doctype :
<?php	
session_start();
$_SESSION['css'] = isset($_SESSION['css'])?$_SESSION['css']:'style.css';
if(isset($_GET['css'])){ 
	$_SESSION['css'] = $_GET['css'];
}
?>


et ensuite, celui du head :
<link href="css/<?php echo $_SESSION['css']; ?>" rel="stylesheet" media="screen" type="text/css"  />
<!--[if IE]>
<link href="css/ie_<?php echo $_SESSION['css']; ?>" rel="stylesheet" media="screen" type="text/css" />
<![endif]-->


pour le moment, j'ai fusionné la css d'IE 6 et d'IE7 en utilisant des hacks...
mais bon, je n'aime pas trop cette méthode...

merci encore, j'espère que j'ai été explicite
J'avoue... y a quelque chose de bizarre Smiley langue

Si t'oublies un peu ton switcher, t'as testé avec une feuille de style unique (par exemple contraste.css) et 2 tests pour IE ?

<link href="css/contraste.css" rel="stylesheet" type="text/css"  />

<!--[if IE 6]>

     <link href="css/ie6_contraste.css" rel="stylesheet" type="text/css" />

<! endif -->

<!--[if IE 7]>

     <link href="css/ie7_contraste.css" rel="stylesheet" type="text/css" />

<! endif -->

Autres questions bêtes mais on sait jamais, t'as vérifié l'orthographe et le chemin de la feuille de style pour IE6 ? C'est bien IE6 que t'as et pas IE5 ou 5.5 ?
je viens de faire le test,
et même sans le switcher, ça ne fonctionne pas.
idem quand j'utilise des lt/lte/gt/gte

le chemin est exact, j'ai fait un copier-coller pour être certain

et je viens de vérifier ma version d'IE, c'est bien la 6ième
je viens de me rendre compte que sous ie6, la navigation est possible que sous le style par defaut.
ici, contraste.css

pour être plus précis,
un 1er click sur le bouton "avec_style" (qui appelle "avec_style.css") fait apparaitre le site sous Ce style
un 2nd click, cette fois-ci sur n'importe quel autre bouton (hormis ceux du switcher) fait apparaitre la page, mais dans le style par défaut ("contraste.css").

je vais faire un tour sur le net concernant ie6 & les switcher de css
bon bon,
je viens de tester un ancien code de switcher qui fonctionne lui aussi de manière irréprochable sous mozilla & ie7,
mais sous ie6, ça me génère le même problème, alors que le code est bien différent.

je pense que la solution est simple :
je prendrai la précaution de déposer sur mon site une image, un texte, disant que la seule place dans laquelle ie6 excelle, c'est dans la corbeille

trop d'heures lui ont été consacré, il est temps de passer à autre chose

si par hasard je trouve une solution, je n'oublierai pas de compléter ce post !


merci beaucoup BeliG ! et à bientôt sur le forum