Besoin d'aide pour switcher de CSS en PHP

J’ai trouvé à cette adresse une traduction d’un article de A List Apart qui explique comment mettre en place un switcher de feuille de style en PHP

Pour ceux qui aurait la flemme de regarder le lien, en gros ça dit de créer un fichier switcher.php avec dedans :

<?php &nbsp;setcookie ('sitestyle', $set, time()+31536000, '/', 'yourdomain.com', '0'); &nbsp;header("Location: $HTTP_REFERER"); ?>

Et puis ensuite d’appeler les changements de feuille de style avec des listes déroulantes ou bien des liens (ce qui m’interesse) de ce type :

Par contre ce que je ne sais pas, c’est comment définir que par exemple “red” correspond à “stylered.css” ? Je suppose que c’est dans switcher.php, mais je ne connais pas du tout le php. Quelqu’un pourrait me dire comment faire?

Bon en gros ca te mets un cookie (c’est bon les cookies, miam ^^) qui s’appelle sitestyle et qui dans ce cas précis, aura la valeur “red”. dans ton php il faut alors, pour inclure dynamiquement:

[/b].css" />

[quote name=’[PERE]Cil’ date=’ 14 Feb 2005, 17:32’]Bon en gros ca te mets un cookie (c’est bon les cookies, miam ^^) qui s’appelle sitestyle et qui dans ce cas précis, aura la valeur “red”. dans ton php il faut alors, pour inclure dynamiquement:

[/b].css" /> [right][post="332792"]<{POST_SNAPBACK}>[/post][/right][/quote] Merci de m'avoir répondu, mais c'était expliqué dans l'adresse que j'avais donnée. Et d'ailleurs il indique aussi de rajouter une ligne similaire à la tienne, pour l'appel du cookie.

En fait j’avais limité qu’à ce qui me posait problème. switcher.php?set=red Je dis comment : à quelle feuille de style correspond red? Vu que je suppose que le set=red dit en gros : fout la feuille de style machin.css dans le cookie et recharge la page.

Le set=red associe red à la variable set ; ensuite la variable set est ecrite dans le cookie.
C’est au moment de la lecture du cookie que ça se passe:

<LINK REL="stylesheet" TYPE="text/css" HREF="style<?php=array_key_exists("sitestyle",$_COOKIES)?$_COOKIES["sitestyle"]:"valeur_par_defaut";?>.css" />

Cette ligne appelle le css « valeurdanslecookie(ou valeur par defaut si le cookie n’existe pas).css » , en l’occurence red.css

Donc c’est la valeur dans le formulaire qu’il faut changer si tu veux appeler un css spécifique, ou carrément le nom de ton css, par exemple pour le formulaire

[code]
 
   Default
   Crazy Red
   Experimental Style
 
 

[/code] ce formulaire pourra appeler les css default.css , red.css et experiment.css

Ou bien encore tu peux faire un tableau de correspondances dans ton styleswitcher, mais ça n’a pas trop d’intérêt :stuck_out_tongue:

Ok je crois que j’ai compris. merci :stuck_out_tongue:

J’essayerai dès que j’aurais un peu de temps.