Aller au contenu

[HTML/PHP]script pour choisir son thème


Link14

Messages recommandés

Salut à tous.

 

Je bosse sur un deuxième thème pour mon site. Comme je ne suis pas sur qu'il plaira à tout le monde, j'aimerai bien mettre un script qui permette à chaque visiteur de choisir le thème qu'il préfère.

J'avais trouvé un script mais dès que je changeai de page, c'est le thème par défaut qui se remettait.

Il faudrai donc quelque chose qui garde la sélection en méémore (cookie?) ou alors ne faire changer que le contenu de la page sans changer tout le reste (menus, etc...) un peu comme avec une iframe.

 

Je ne sais pas trop quoi faire, une petite aide me serai utile.

 

Merci beaucoup.

Lien vers le commentaire
Partager sur d’autres sites

Et les sessions php ?

Les cookies niveau sécu ça peut ne pas être très cool.

 

Tu attribues une session theme avec l'id du theme séléctionné.

 

Comme ça si tu as des membres(login + pass) tu peux leur remettre le theme qu'ils ont précédement choisis.

 

Les cookies j'aime pas trop, surtout que certains les virent par sécurité.

Lien vers le commentaire
Partager sur d’autres sites

Création d'un cookie en php ( y'a d'autres moyens mais c'est assez simple en php donc on va pas s'en priver )

 

<?php
setcookie('nom_cookie', 'valeur_cookie', (time() + 3600));
?>

nom_cookie = nom de la variable qu'on va récuperer ensuite

valeur_cookie = la valeur de la variable ( par exemple le nom de ton theme )

time()+3600 = date d'expiration

 

<?php
echo $_COOKIE['nom_cookie']; // afficheras "valeur_cookie"
?>

Comment t'en servir ? Je sais pas trop comment tu as prévu de faire ton site, mais tu peux passer le nom de ton css dans la variable du cookie.

Il te suffit de faire une liste déroulante, qui envoie à un script php le theme choisi qui va créer un cookie avec le nom du fichier css, ce script se charge de créer le cookie, et dans ta page centrale tu lit le cookie ( s'il n'y en a pas tu met le theme par defaut ).

Je pense qu'il est préferable que tu le fasse toi meme plutot que de compter sur un "script" tout fait :)

 

Voila si tu as d'autres questions...

Lien vers le commentaire
Partager sur d’autres sites

Pense a vérifier la valeur receptionnée pour pas te faire avoir par des petits plaisantins ou des bots.

 

Car la valeur d'un cookie est directement modifiable par un utilisateur(vu que le cookie est chez lui et pas sur le serv) et si tu controle pas la valeur reçu, tu pourra avoir des petites suprises...

 

Après tu peux te dire: "ouais mais personne le fera"

Je te dis juste que ya des bots, qui ont que ça faire, et qui testent toutes les failles possibles sur ton site.

 

Voila, en esperant que tu penses a verifier la valeur de ton cookie :P

Lien vers le commentaire
Partager sur d’autres sites

Merci à vous deux. :)

Je vaismepencherla-dessus, aupire y'apasmal de site qui explique comment débuter en PHP, sachant que ce que je veux faire n'est pas très compliqué.

 

Juste une question :

Comment faire pour vérifier la valeur réceptionnée ?

 

Et j'ai un petit problème.

J'ai sur chaquepage le code de création d'un cookie avec comme contenu, lenom du répertoire où se trouvele fichier à charger pour le thème.

 

Création du cookie :

<?php
$contenu = 'vcs'; // le contenu de votre cookie
setcookie("theme-selection", $contenu, time()+3600000);
?>  

Le nom du répertoire est donc vcs

 

D'un autre coté, j'ai une variable pour récupérer le fichier du thème :

<?

include "config_theme.php"; //

include "themes/<?php

echo $_COOKIE["theme-selection"]; ?>/config.php"; // récupération des couleurs et des style pour le thème choisi

?>

Avec dedans en gras le code pour avoir le contenu du cookie, leproblème c'est que j'ai droit à ce joli message :

Parse error: syntax error, unexpected '"', expecting T_STRING or T_VARIABLE or T_NUM_STRING in /home.10.3/puissancb/www/test/index-vcs.php on line 8

 

J'ai récupéré un morceau de script mais je viens de me rendre compte que y'a beaucoupplus simple, suffit de prendre direct le fichier CSS au lieu de se casser le cul avec "config.php" et "config_theme.php".

 

 

EDIT 3 :

C'est bon, j'ai changé et j'ai fait un système avec un fichier CSS, ca marche nikel!

Lien vers le commentaire
Partager sur d’autres sites

J'ai sur chaquepage le code de création d'un cookie avec comme contenu, lenom du répertoire où se trouvele fichier à charger pour le thème

 

Le cookie tu n'as besoin de le créer qu'une seule fois, c'est l'avatage du cookie justement, tu le créer une fois et ensuite il reste sur le pc client pour x temps =)

Lien vers le commentaire
Partager sur d’autres sites

Veuillez vous connecter pour commenter

Vous pourrez laisser un commentaire après vous êtes connecté.



Connectez-vous maintenant
  • Statistiques des membres

    23 028
    Total des membres
    1 033
    Maximum en ligne
    Subaru
    Membre le plus récent
    Subaru
    Inscription
  • Statistiques des forums

    128,1 k
    Total des sujets
    1,7 M
    Total des messages
×
×
  • Créer...