Cette page utilise des feuilles de style en cascade. Si vous arrivez à lire ce message, c'est que CSS n'est pas activé dans les options de votre navigateur.
Les menus ne seront sans doute pas affichés.
L'affichage de la page sera donc différent de ce qui est prévu.

CSS dynamique utilisant des cookies dans une feuille de style.

Cette technique n'a d'intérêt que pour un grand nombre de valeurs à modifier. Pour une ou deux valeurs, il vaut mieux utiliser une méthode semblable à celle décrite pour les cookies dans une page.

L'HTML et PHP utilisés

Dans chaque page on importe le fichier CSS/PHP fixe3col.php.

<style type="text/css">
@import "fixe3col.php";
</style>

On crée un fichier switcher.php qui va permettre de fixer la valeur du style dans un cookie et rediriger vers la page appelante à l'aide de variables.

<?php
if(isset($_GET["style"])){$style_cookie=$_GET["style"];}
if(isset($_GET["page"])){$page=$_GET["page"];}
setcookie('style',$style_cookie,time()+3600,'/',"domaine",'0');
/*ici $domaine="css-tests.meximas.com";*/
header("Location:$page");
?>

Pour le style 1, le lien permettant de changer le style aura donc cette forme :

<a href="switcher.php?style=1&amp;page=nomdelapage.php">style 1</a>

Le fichier CSS/PHP

On établit toutes les valeurs par défaut -ici pour le texte et le fond de body- et les valeurs à affecter en fonction du style indiqué dans le cookie.

<?php
header("Content-type: text/css; charset=iso-8859-1");
header("Cache-Control: must-revalidate");
$ExpStr = "Expires: " .
gmdate("D, d M Y H:i:s",
time()) . " GMT";
header($ExpStr);
/*valeurs par défaut*/
$couleurtexte="#0A00B0";
$couleurfond="#E9F5FE";
if(isset($_COOKIE["style"]))
{
switch ($_COOKIE["style"])
   {
   case "1" : $couleurtexte="#FDC990";
              $couleurfond="#908E53";
              break;
   case "2" : $couleurtexte="#908E53";
              $couleurfond="#FDC990";
              break;
/*etc*/
   }
?>
body{
color:<?php echo $couleurtexte?>;
background-color:<?php echo $couleurfond?>;
}
/*etc*/

La feuille de style établie à partir du cookie sera transmise au navigateur qui appliquera les règles comme pour cette page.

Les scripts ont été simplifiés et doivent prévoir les problèmes qui peuvent survenir.

Si l'utilisateur a bloqué les cookies, c'est le style par défaut qui sera appliqué.

Cette page n'utilise aucun filtre pour la disposition ou pour le menu.
Des commentaires conditionnels ont été ajoutés pour MSIE.

Piment d'Espelette
Changer de style
grâce aux cookies
original style 1 style 2 style 3
grâce aux variables
original style 1 style 2

Retour à la page exemple.