Qui n'a jamais eu envie d'avoir plusieurs designs pour son site? C'est possible grâce au PHP et aux cookies!
: vous ne pourrez pas changer beaucoup d'éléments votre site sauf la position du texte, les couleurs, l'écriture,... vous ne pourrez en aucun cas afficher une image à la place d'une autre (sauf en arrière-plan).
Lorsque vous aurez créé vos fichiers CSS, vous aurez fait le plus simple et surtout le plus long. Le problème qui se pose maintenant est que chaque visiteur doit pouvoir utiliser un design qui lui plait et ne pas le remettre à chaque fois qu'il vient sur le site.Comment faire?
Pour enregistrer le choix de design; vous allez utiliser un cookie qui gardera en mémoire le design du visiteur. Lorsque il vient sur le site, on regarde s'il a déjà un cookie avec son design et on affiche ses préférences.
<?php
if(isset($_COOKIE['design'])){//si le cookie existe
if($_COOKIE['design']=="base"){
/*on regarde si c'est le design de base et on le stocke dans une variable*/
$css = "base.css";
}
else{/*sinon on récupère le contenu du cookie et le prend comme nom de fichier CSS en lui ajoutant le .css*/
$css = $_COOKIE['design'].'.css';
}
}
else{//si le cookie n'existe pas, on en crée un
$duree_vie = time()+365*24*3600;
//durée de vie d'un an
setcookie('design', 'base', $duree_vie);
//cookie de base
}
?>
<html><head><title>mon tit</title>
<?php/*on affiche le design que le visiteur a choisi en affichant la variable $css.*/
echo'<link rel="stylesheet" type="text/css" href="'.$css.'" />';
?>
Mais comment faire passer une variable avec un lien? Normalement, un lien envoie vers un page et c'est tout.
Pour envoyer une information par un lien, il suffit de mettre un point d'interrogation après l'URL, le nom de la variable et sa valeur. Voici un exemple de lien avec une variable nommée site et qui contiendra le mot web:
<a href="ma_page.php?site=web">ma page</a>
<?php
$lien = $_GET['design'];
if($lien!=""){/*si on a déjà choisi un design*/
$duree_vie = time()+365*24*3600;//1 an
setcookie('design', $lien, $duree_vie);
//on crée le cookie et on le redirige vers l\index
header('Location:index.php');
}
else{/*si le visiteur n a pas encore choisi de design, on affiche le formulaire de choix*/
?><html><head><title>Changement de desing</title>
<link rel="stylesheet" type="text/css" href="base.css" />
<meta name="robots" content="noidex" />
<!--Il ne sert à rien d\indexer cette page; elle ne vous apportera aucun visiteurs!-->
<!--Vous pouvez bien entendu mettre le code choix de design pour afficher le design préféré du visiteur sur cette
page. Ce code se placera avant tout.-->
</head><body>
<div align="center"><h3>Changer de design</h3></div><br /><br />
<a href="images/design1.jpg"><img src="images/design_mini1.jpg" alt="design1" /></a>
<a href="choix_design.php?design=design1">Choisir ce design</a><br /><br />
<a href="images/design2.jpg"><img src="images/design_mini2.jpg" alt="design2" /></a>
<a href="choix_design.php?design=design2">Choisir ce design</a>
....
</body></html><?php
}
?>