Problème avec le Style Switcher
Bonsoir,
J'ai plusieur styles pour mon site et j'ai quelques soucis pour le style switcher... il doit y avoir quelque chose qui ne va pas dans mon code... qui est assez compliqué !
Explications :
Sur toutes les pages de mon site, j'inclu une page PHP qui contient toutes les infos du site...
Sur toutes mes pages, la balise <link.. /> de mon style est remplacée par un code PHP <?php echo $style; ?>.
Cette variable est déterminé dans la page PHP incluse en début de page...
Et dans la variable $style, le chemin du style contient la variable $css du style switcher...
Vous m'avez suivi ?
Sur la page qui effectue le changement de style, j'ai mit ce bout de code avant l'inclusion de la page d'information PHP :
Et au tout début de la page PHP qui contient toutes les infos, il y a ceci :
Alors les infos cookies sont récupérées que sur la page du switch et non sur les autres... de plus je dois cliquer deux fois pour que le switch soit prit en compte...
Donc si quelqu'un a une idée...
Je vous remercie beaucoup.
Modifié par E²xiT (15 Sep 2005 - 22:19)

Bonsoir,
J'ai plusieur styles pour mon site et j'ai quelques soucis pour le style switcher... il doit y avoir quelque chose qui ne va pas dans mon code... qui est assez compliqué !
Explications :
Sur toutes les pages de mon site, j'inclu une page PHP qui contient toutes les infos du site...
Sur toutes mes pages, la balise <link.. /> de mon style est remplacée par un code PHP <?php echo $style; ?>.
Cette variable est déterminé dans la page PHP incluse en début de page...
Et dans la variable $style, le chemin du style contient la variable $css du style switcher...
Vous m'avez suivi ?


if(isset($_POST['switch']))
// On vérifie que le formulaire a été soumis
{
if(file_exists("./".$_POST['style']."/index.css"))
{
// On fait un cookie d'une année de durée pour garder en mémoire le style choisi et le récupérer à la prochaine visite
setcookie('style', $_POST['style'], time()+(365*24*3600));
// Si le fichier *.css existe on définit une variable $css correspondant au style choisi
$css = $_POST['style'];
}
}
Et au tout début de la page PHP qui contient toutes les infos, il y a ceci :
if(isset($_COOKIE['style']))
// Si le formulaire n'a pas été soumis, on vérifie si le cookie style existe et si tel est le cas on définit une variable $css correspondant à ce style
{
$css = $_COOKIE['style'];
}
else
// Si le cookie n'existe pas et que le formulaire n'a pas été soumis, on définit une variable $css correspondant au style par défaut, ici un_style.css par exemple
{
$css = "defaut";
}
//code...
$site_root = 'http://mondomaine.ext/';
$style = '<link rel="StyleSheet" type="text/css" href="'.$site_root.'styles/'.$css.'/index.css" />';
Alors les infos cookies sont récupérées que sur la page du switch et non sur les autres... de plus je dois cliquer deux fois pour que le switch soit prit en compte...

Donc si quelqu'un a une idée...
Je vous remercie beaucoup.
Modifié par E²xiT (15 Sep 2005 - 22:19)