Plusieurs feuille de style CSS ?

Résolu/Fermé
1000trad Messages postés 2026 Date d'inscription lundi 29 décembre 2008 Statut Membre Dernière intervention 20 mars 2011 - 15 juin 2009 à 20:24
PMax-57 Messages postés 193 Date d'inscription lundi 15 juin 2009 Statut Membre Dernière intervention 12 février 2017 - 19 juin 2009 à 14:35
Bonjour,

Je souhaiterai faire plusieurs style CSS pour mon site et je me demandais comment on pouvait faire ca.

J'ai une feuille de style pour un thème. Et j'aimerai que mes deux style s'affiche dans le menu affichage > style de la page > mes feuilles de style. (firefox)

Comme ca, le design change en un clic.

Comment faire ?


Merci à tous !
A voir également:

9 réponses

PMax-57 Messages postés 193 Date d'inscription lundi 15 juin 2009 Statut Membre Dernière intervention 12 février 2017 40
15 juin 2009 à 20:35
Salut

Si ton site utilise les sessions, tu peux demander une modification des sessions lors de l'action "changer de thème", définie par ton bouton.

Une fois ta variable session modifiée, tu fais une fonction PHP dans le genre :

if ( session(theme) = themeA ) { echo '<link rel="stylesheet" type="text/css" href="style/styleA.css" />' }
else { <link rel="stylesheet" type="text/css" href="style/styleB.css" /> }


(désolé mais j'ai pas mis la syntaxe exacte de la ligne de code)

Bon courage !
0
1000trad Messages postés 2026 Date d'inscription lundi 29 décembre 2008 Statut Membre Dernière intervention 20 mars 2011 121
15 juin 2009 à 20:37
Merci de ta réponse.

J'ai un petit soucis, en fait, je voulais pas passer par un bouton et une condition. Juste que les style s'affiche dans le menu du navigateur.

Je vient d'y arrivé, mais l'autre soucis, c'est que une fois le style mis, des que je clique sur un lien pour aller sur une autre page ou bien j'actualise, ca revient au style par défault. Que faire ?


Merci encore.
0
PMax-57 Messages postés 193 Date d'inscription lundi 15 juin 2009 Statut Membre Dernière intervention 12 février 2017 40
15 juin 2009 à 20:39
Re,

Soit tu indique dans l'url avec une méthode GET que ton style c'est le style A ou B, et tu récupère la variable sur chaque page, soit tu utilise les sessions...

Tu codes en quoi, html, php ?
0
1000trad Messages postés 2026 Date d'inscription lundi 29 décembre 2008 Statut Membre Dernière intervention 20 mars 2011 121
15 juin 2009 à 20:49
Ca veux dire encore une variable dans l'uRL, j'en ai déja des tonnes.

C'est pas grave, je vais faire la solution formulaire et COOKIES.

Je code en xHTML et PHP, mais j'ai du mal a comprendre le principe des SESSION.

Merci encore !
0
PMax-57 Messages postés 193 Date d'inscription lundi 15 juin 2009 Statut Membre Dernière intervention 12 février 2017 40
15 juin 2009 à 20:57
Si tu veux je t'explique rapidement ce que sont des sessions :

C'est une forme de COOKIES, sauf qu'à la place d'être insérées sur le PC de ton visiteur, elles sont placées sur ton FTP dans un répertoire sessions/ normalement.

Par rapport à ça, tu crée un fichier PHP qui donne différentes variables et valeurs à tes paramètres sessions.
tu peux mettre par exemple :

$_SESSION(lang) = 'fr';
$_SESSION(theme) = 'themeA';

etc.

Ensuite, avec des variables de conditions, tu indiques ce que tu souhaite (page en francais, style CSS du theme A, etc.)

Ce qui est avantageux c'est que les sessions ont une durée limitée de plusieurs heures. Le visiteur peut quitter ton site, revenir plus tard et retrouver la configuration qu'il avait quand il a visité ton site.

Ca t'évite d'utiliser les méthodes GET et POST qui encombrent assez ton site...

Si tu veux en savoir plus, n'hésite pas.
0
1000trad Messages postés 2026 Date d'inscription lundi 29 décembre 2008 Statut Membre Dernière intervention 20 mars 2011 121
15 juin 2009 à 21:08
Merci beaucoup de votre explication, en effet, c'est plus clair !

En fait, dans ce cas, je pourrais mettre un petit formulaire (dans le profil, par exemple) qui demanderai au visiteur le style.

Après validation du formulaire, j'aurais un code qui dit :if style = style1 alors $_SESSION['style'] = 'style1'; elseif...

C'est possible ça ?

Et je les transmet comment mes session ? avec session_start() ? (car j'en ai a toutes mes pages des session_start() ) Je récupère des code et je fait un mix qui un truc pas mal en fait ! (je ne comprends donc pas tous les code parfois...)


Merci.
0
PMax-57 Messages postés 193 Date d'inscription lundi 15 juin 2009 Statut Membre Dernière intervention 12 février 2017 40
15 juin 2009 à 21:25
Ca me fait rire, j'ai commencé comme toi avec les sessions !! (et tutoie moi, on est sur un forum !)


Tout d'abord, quelle est l'architecture de ton site ?
As tu un fichier qui inclue les autres fichiers ? (index.php?p=accueil, index.php?p=forum)
As tu un fichier pour chaque page ? (accueil.html forum.hml ...)
0
1000trad Messages postés 2026 Date d'inscription lundi 29 décembre 2008 Statut Membre Dernière intervention 20 mars 2011 121
16 juin 2009 à 08:54
Ok, je te tutoie ! ^^

Oui, en fait, toutes mes pages sont incluses dans mon index.php

Ex : index.php?page=accueil
index.php?page=indexforum&idf=8

voila, tout est comme ça.

J'ai plus de 110 pages au total ! Il commence à être assez conséquent et il n'est encore pas fini.


Sinon, je pensait rajouter un champ dans le profil pour le style et rajouter un champ a ma base de données.
Comme, ça, que le membre soit connecte sur n'importe qu'elle PC, il aura son design. Ça marcherai ça ?

Désolé de toutes ces question mais, c'est pas du tout simple le PHP au début !


Merci encore !

0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
PMax-57 Messages postés 193 Date d'inscription lundi 15 juin 2009 Statut Membre Dernière intervention 12 février 2017 40
16 juin 2009 à 12:26
salut salut !

As tu déjà un module de gestion des membres ???

Si oui, rajoute une variable "thème" dans ta base de donnée SQL et tu demande à ton membre de choisir à l'inscription, et de modifier au besoin dans son espace "gestion de mon profil". De là, tu appliques un theme standard pour tes non-membres, et un theme perso pour tes membres en récupérant la variable SQL.

Je trouve ce système simple, sinon comme je l'ai déjà dit, tu peux utiliser les sessions.
0
1000trad Messages postés 2026 Date d'inscription lundi 29 décembre 2008 Statut Membre Dernière intervention 20 mars 2011 121
16 juin 2009 à 14:41
Merci !

Oui, j'ai un système de membre. Je vais rajouter un champ thème dans ma base, et un thème Default pour les nom membres !

Merci encore.
0
PMax-57 Messages postés 193 Date d'inscription lundi 15 juin 2009 Statut Membre Dernière intervention 12 février 2017 40
16 juin 2009 à 22:34
C'est la meilleure des solutions, simple et efficace.

Tu peux bien entendu appliquer une variable session pour tes visiteurs non inscrits. Personnellement, je trouve que cette fonction est un "+" pour les membres inscrits, une sorte de privilège. Ton membre inscrit est pour ainsi dire une sorte de "client fidèle", il faut le chouchouter au maximum et lui offrir des options qu'il n'a pas s'il n'est pas enregistré.

Si tu as d'autres questions, n'hésites pas à me contacter par message privé.

(et n'oublie pas de mettre ton poste en RESOLU, fonction disponible en haut à droite de ton 1er message)

Bonne continuation !
0
1000trad Messages postés 2026 Date d'inscription lundi 29 décembre 2008 Statut Membre Dernière intervention 20 mars 2011 121
17 juin 2009 à 13:58
Merci beaucoup !!!

En effet, j'ai fait comme, cela et ça fonctionne a merveille !

Oui, si l'invité à autant de privilège qu'un membre, pourquoi il s'inscrirait ? J'ai donc mis un design par défaut pour les non membres.

Encore une petite question : Vaut-il mieux autoriser que les membres à poster ou bien même les invités ?
Que me conseille-tu ?

Merci encore.
0
PMax-57 Messages postés 193 Date d'inscription lundi 15 juin 2009 Statut Membre Dernière intervention 12 février 2017 40
18 juin 2009 à 08:00
Salut,

Pour ton histoire de post, ça dépends de plusieurs choses, à savoir :

L'inscription est une sorte de "fidélisation" d'un membre. Si celui-ci prends du temps pour s'inscrire, tu es quasiment certain qu'il reviendra. Si il prends du temps pour s'inscrire, c'est qu'il a un désir d'accomplir quelque chose derriere (poster des réponses sur un forum, participer à l'activité du site).


On imagine, un visiteur qui n'ait pas besoin de s'inscrire pour poster => es-tu sûr qu'il reviendra ? es tu sûr que ses posts seront d'aussi bonne "qualité" que celui qui s'est inscrit ? A savoir que si tu laisse l'opportunité aux non-membres de poster des message, la qualité d'entre eux seront nettement moindres, la qualité de tes discussions avec, la fidélisation également, et donc l'activité de ton site empirera.

Bien entendu, il s'agit là d'un avis personnel !

Autre chose : tu es responsable des posts sur ton site Internet et tu dois pouvoir montrer en tout état de cause que tu fais ton maximum pour administrer et modérer l'activité de tes visiteurs et membres. De là, un non membre, comment fais tu pour savoir qui c'est ? Il peut venir sur ton site, émettre des propos racistes et ne plus jamais revenir, d'ici là, c'est toi qui es responsable...

Bref, je tourne autour du pot mais au final et personnellement, je trouve que c'est une mauvaise idée ^^ (tout ça pour ça !)


Bon courage !
0
1000trad Messages postés 2026 Date d'inscription lundi 29 décembre 2008 Statut Membre Dernière intervention 20 mars 2011 121
18 juin 2009 à 11:44
Merci beacoup de tes conseil !

Ca confirme donc mon idée !

En plus, je savais pas que l'on peut avoir des ennuies si un post desobligeant n'a pas été modéré.

Merci à toi.

(Je pourrais te poser une autre question ? Je sais, je suis un peu pénible !)
0
PMax-57 Messages postés 193 Date d'inscription lundi 15 juin 2009 Statut Membre Dernière intervention 12 février 2017 40
19 juin 2009 à 14:35
Salut,

Bien sûr tu peux poser d'autres question, un forum est là pour ça !

Cependant, je n'ai pas la science infuse donc il se peut que je fournisse des renseignements incomplets, voire erronés (j'espère que j'en donne très rarement des comme ça !).

Et donc, si tu as d'autres question, ouvre donc un nouveau sujet sur le forum ! ou bien passe en message privé si tu ne veux pas que d'autres participent à la conversation.

A bientot,

Maxime.
0