CSS / 3 colonnes / en-tête / pied de page
pas de javascript, pas de tableau
pas de javascript, pas de tableau
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.
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&page=nomdelapage.php">style 1</a>
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.
Retour à la page exemple.