Metagames

Metagames (https://www.metagames-eu.com/forums/)
-   Développement (https://www.metagames-eu.com/forums/developpement/)
-   -   [HTML/PHP]script pour choisir son thème (https://www.metagames-eu.com/forums/developpement/html-php-script-pour-choisir-son-theme-82422.html)

Link14 14/02/2007 17h53

[HTML/PHP]script pour choisir son thème
 
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.

FreeZou 14/02/2007 19h18

Je pense que le faire avec les cookies c'est la meilleure idée.
Les iframes c'est pas tres propres on va dire.

6 14/02/2007 22h24

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é.

Link14 16/02/2007 21h22

J'avais pas pensé à faireun système de compte. Mais je préfère quand même un système de cookie, même si certains les bloques.
Maintenant, reste plus qu'à trouver un script parceque si j'ai vraiment de bases niveau PHP... -_-'

FreeZou 16/02/2007 22h13

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 )

Code PHP:

<?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

Code PHP:

<?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...

6 17/02/2007 00h30

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

Link14 17/02/2007 13h55

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 :
Code PHP:

<?php
$contenu 
'vcs'// le contenu de votre cookie
setcookie("theme-selection"$contenutime()+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!

FreeZou 17/02/2007 19h15

Citation:

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 =)

Link14 18/02/2007 10h56

J'ai un petit problème de couleur de fond.
Dans mon CSS j'ai bien mis :
Code PHP:

body {
    
background-color#595959;


Mais le fond reste blanc 0_o

EDIT : Problème résolu!


Fuseau horaire GMT +1. Il est actuellement 17h59.

Powered by vBulletin® Version 3.8.7
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.

Integrated by BBpixel ©2004-2024, jvbPlugin

Version française #23 par l'association vBulletin francophone
© 2003-2018 MetaGames. Tous droits réservés.