Problème XHTML et CSS style de page

Fermé
zatox Messages postés 640 Date d'inscription samedi 17 février 2007 Statut Membre Dernière intervention 26 juin 2020 - 14 mai 2008 à 17:49
zatox Messages postés 640 Date d'inscription samedi 17 février 2007 Statut Membre Dernière intervention 26 juin 2020 - 28 mars 2009 à 14:04
Bonjour, j'ai fait un petit site web qui contient une vingtaine de pages XHTML plus l'index.html
J'ai associé 2 fichiers CSS pour avoir 2 apparences différents. Dans chaque fichier XHTML j'ai fait référence à mes 2 fichiers CSS comme ceci :

<link rel="stylesheet"
media="screen" type="text/css" title="Fichier1" href="css/fichier1.css" />
<link rel="alternate stylesheet"
media="screen" type="text/css" title="fichier2" href="css/fichier2.css" />

Donc quand j'active index.html, il affiche avec comme fichier CSS : fichiers1.css
Avec mozilla, je clique sur Affichage --> Style de la page, je choisi fichier2, il affiche bien l'apparence prévue par fichier2.css
Mais quand je clique sur un lien qui active une autre page de mon site, il revient à l'apparence fichier1

Est-il possible de dire quelque part, si je choisi le type d'affichage fichier2.css, je veux utiliser l'apparence fichier2.css tout au long de la transaction ? merci pour vos réponses
A voir également:

2 réponses

Torkass Messages postés 166 Date d'inscription jeudi 20 décembre 2007 Statut Membre Dernière intervention 21 janvier 2016 95
14 mai 2008 à 18:05
avec un cookie, c'est faisable

si le cookie existe et contient la seconde valeur ou si la seconde apparence est choisie, alors le cookie s'enregistre avec la valeur 2 et la seconde apparence est utilisée.
Sinon, c'est la première qui se charge.
0
zatox Messages postés 640 Date d'inscription samedi 17 février 2007 Statut Membre Dernière intervention 26 juin 2020 66
14 mai 2008 à 19:18
OK, euh .. euh .. merci pour ta réponse, mais peux-tu m'en dire un peu plus long ? le cookie je l'attrape où, je le met où ? j'avoue que je ne sais pas ce que je dois faire là ni comment le faire. Si tu peux me dire comment je dois m'y prendre ? encore merci pour ton aide.
0
Torkass Messages postés 166 Date d'inscription jeudi 20 décembre 2007 Statut Membre Dernière intervention 21 janvier 2016 95 > zatox Messages postés 640 Date d'inscription samedi 17 février 2007 Statut Membre Dernière intervention 26 juin 2020
15 mai 2008 à 00:11
Pour ce genre de choses, il est plus aisé d'utiliser le php...

Voici une explication telle que j'utilise l'option moi-même sur mon site :

Alors tout d'abord, il faut que tes pages soient en .php, cela n'aura pas d'incidence sur le fait qu'elles soient codées en xhtml (enfin à ma connaissance, puisque j'utilise moi-même du xhtml dedans) et tu pourras y faire fonctionner le php, justement (point crucial pour la suite et, même si tu n'y connais rien, ne t'en fais pas, je t'explique tout).

Ensuite pour les balises d'inclusion des styles css, je te conseille une méthode alternative que j'utilise moi-même sur mon site et qui fonctione parfaitement, c'est l'include :
<style type="text/css">
<?
if (isset($_POST['Choix_Theme']) OR isset($_COOKIE['Choix_Theme']))
{
include 'css/'.$_COOKIE['Choix_Theme'].'.css';
}
else
{
include 'css/Theme1.css';
}
?>
</style>
Là, en gros, on a dit que si l'utilisateur a choisi un thème ou bien si il a déjà un cookie contenant ce choix, alors c'est le thème correspondant qui s'affiche. Sinon, c'est le premier (thème par défaut, quoi).

Maintenant, il faut créer le formulaire de changement de thème (tu le places où tu veux sur ta page) :
<form method="post" action="<? echo htmlentities($_SERVER['HTTP_SELF']); ?>" onchange='this.form.submit();>
<select name="Choix_Theme">
<option value="Theme1">Thème 1</option>
<option value="Theme2">Thème 2</option>
</select>
</form>
Une fois le champs sélectionné, la page s'actualisera automatiquement, permettant le changement de thème, ainsi que l'enregistrement du cookie.

Passons donc à l'enregistrement, du cookie !
Tu dois placer ce code avant tout autre code sur ton site, même avant les balises <html> et <xhtml machin truc> :
if (isset($_POST['Choix_Theme']))
	{
	$expire = 365*24*3600; // on définit la durée du cookie, 1 an
	setcookie("Choix_Theme", $_POST['Choix_Theme'], time()+$expire);  // on l'enregistre
	}
Voilà ! Le cookie se nomme donc Choix_Theme et contient soit Theme1, soit Theme2, selon le choix du visiteur. Il conservera ce cookie durant un an, sauf s'il rechange de thème via le formulaire, après quoi un nouveau cookie sera créé à la place.

Alors évidemment, tout ça, ça utilise le php et tes pages sont en xhtml, alors peut-être que tu n'y connais rien, mais le php est presque une oeuvre d'art à mon sens (le fanatique XD) en matière de codage et je te conseille vivement de te documenter dessus, si tu ne connais pas.

J'espère que j'ai quand même pu t'aider ! :)
0
zatox Messages postés 640 Date d'inscription samedi 17 février 2007 Statut Membre Dernière intervention 26 juin 2020 66 > Torkass Messages postés 166 Date d'inscription jeudi 20 décembre 2007 Statut Membre Dernière intervention 21 janvier 2016
18 mai 2008 à 11:31
Salut, excuses-moi du retard, j'ai dû m'absenter quelques jours, je te remercie pour taréponse, mais si je comprends bien, je dois avant toutes choses écrire du PHP ?! ou bien y a-t-il un moyen de transformer du XHTML en PHP ? là je ne sais pas. Si c'est possible, peux-tu me dire comment on fait, sinon je ne connais rien au PHP, à moins que le passage du XHTML + CSS ne soit pas trop difficle ?
Merci pour taréponse.
0
zatox Messages postés 640 Date d'inscription samedi 17 février 2007 Statut Membre Dernière intervention 26 juin 2020 66
28 mars 2009 à 14:04
J'ai résolu ce problème mais pas tout à fait comme je voulais, j'ai simplement créé sur la première page une liste box dans laquelle l'utilisateur choisi le thème qu'il désire et ensuite j'écris un cookie que je vais rechercher à chaque affichage.
0