Mettre en place un cookie

Mettre en place un cookie - PHP - Programmation

Marsh Posté le 07-04-2008 à 11:06:12    

Oyez Oyez chevaliers  :bounce:  
 
Je viens ici car j'ai un soucis de taille !
 
J'ai un site, deux feuilles de style. Je voudrais que le visiteur ait le choix entre ces deux feuilles de style, qui renverraient donc vers deux thèmes différents.
-> Premier problème : Comment faire pour renvoyer à une feuille de style, ou à une autre ?
 
Apparemment, faut utiliser des trucs comme :
<link rel="alternate stylesheet" type="text/css" href="/modele/ecran.css" media="screen" title="Normale" />
C'est ce que j'ai pu trouver ici et il parle également de mon second problème...
 
Aussi, j'aimerais que cette feuille de style soit maintenue pour toutes les pages du site, et éventuellement pour tous les passages de l'utilisateur sur le site, et j'avais pensé à un cookie.
-> Deuxième problème : Comment le mettre en place ?
 
Pour ce deuxième point, j'ai jeté un coup d'oeil à ce site et la partie pour PHP, qui a l'air mieux... Par contre, je ne sais pas écrire le cookie "Garder le thème" ou je comprends pas vraiment le mode de fonctionnement, donc si vous pouviez me donner un coup de main, ça serait cool ;)
 
En soit, ça n'a pas l'air compliqué mais moi et la programmation, ça fait 2, c'est pour ça que je suis sous Nvu et que j'ai modifié un kit graphique gratuit pour avoir le design voulu (ça, ça me pose pas de problème :D)  
 
Merci :jap:
 
:hello:

Reply

Marsh Posté le 07-04-2008 à 11:06:12   

Reply

Marsh Posté le 07-04-2008 à 15:05:51    

setcookie().[:dawa]
Si tu n'y connais rien en php t'es pas sorti de l'auberge par contre.


---------------
Can't buy what I want because it's free -
Reply

Marsh Posté le 07-04-2008 à 18:01:29    

setcookie() -hmm- :D
 
Ouais, là j'avoue que j'y connais rien... A la fac, on voit quoi ? Python \o/
 
Et là, étudier tout un langage, ça me dit moyen... S'pour ça que j'utilisais Nvu d'ailleurs pour le site en lui même, ça demande aucune connaissance :D Et pour le design faut vraiment en vouloir pour pas réussir à modifier comme on veut.
 
Il y aurait pas une âme charitable, un dieu du Php qui pourrait me donner un coup de main pour que j'avance un petit peu ?
 
Je sais que c'est surement beaucoup demander mais c'est la seule alternative qui s'offre à moi, alors je tente... :whistle:
 
Merci d'avance, et sinon, tant pis ;)
 
Merci pour ta réponse en tout cas skeye !

Reply

Marsh Posté le 07-04-2008 à 18:54:56    

php est pas bien compliqué, surtout pour le peu que tu veux en faire.
La doc de setcookie() est là : http://fr3.php.net/manual/fr/function.setcookie.php


---------------
Can't buy what I want because it's free -
Reply

Marsh Posté le 07-04-2008 à 19:19:26    

D'accord, merci.
 
Je vais aller y jeter un oeil, non... deux ou je m'en sortirai pas :D
 
Ce setcookie() là, il sert "juste" à sauvegarder les choix de l'utilisateur ?
 
Après, pour renvoyer vers un css ou l'autre, c'est bien la ligne que j'ai mis dans mon premier post ?
 
Bon, je vais lire !

Reply

Marsh Posté le 09-04-2008 à 14:04:57    

- setcookie() c'est effectivement pour écrire le cookie chez l'utilisateur
- après tu dois relire le cookie au début de ton index.php, en vérifiant que le style d'affichage est bien sauvegardé dedans, et après, tu fais un joli if:
if theme1
link le css du theme 1 <link rel="alternate stylesheet" type="text/css" href="/modele/theme1.css" media="screen" title="Normale" />  
else if theme2
link le css du du theme 2 <link rel="alternate stylesheet" type="text/css" href="/modele/theme2.css" media="screen" title="Normale" />
 
voilà, ou avec un switch/case, comme tu veux, (puis là c'est pour l'idée, 99% de la ligne étant commune, tu copie/colle pas ça bourrinement ;)
et si le cookie n'existe pas, ou que la valeur contenue correspond à rien (genre le mec qui avait choisi un thème 6 mois avant, et qu'aujourd'hui, ce thème n'est plus dispo...), ben tu renvoi sur le thème "par défaut" que tu veux ;)
 
enfin voilà, regarde déjà avec ce qu'on t'a dis, et puis en cas de soucis, tu reviens et tu montre le code qui déconne, et tu dis ce qui marche pas :)


Message édité par Xav_ le 10-04-2008 à 10:44:27

---------------
- Xav - ...There are no crimes when there are no laws... -- Xav's World
Reply

Marsh Posté le 09-04-2008 à 20:25:35    

Salut,
 
Merci pour la réponse complète :)
 
Je pense regarder ça de vraiment plus près Vendredi, quand j'aurais fini tous mes DS et qu'on aura plus trop de cours, plus qu'un jour et demi à tenir :D
 
Tu dis de mettre dans le index.php, ma page d'accueil est en .html, il est possible d'inclure une partie de texte en php en le signalant dans le code, ou je dois nécessairement l'avoir en Php ?
 
Merci en tout cas :jap:

Reply

Marsh Posté le 10-04-2008 à 10:43:34    

- si ton extension est "php", ta page peut contenir php et/ou html
- si ton extension est "html", ta page ne peut contenir que tu html
 
Sauf cas particulier, si tu as paramétré de l'URL rewriting (ou changé la liste des extensions dans la conf d'apache) pour que apache analyse les pages HTML, mais par défaut, ce n'est pas le cas.
Dans le cas standard, écrire du code php dans une page d'extension html, le code ne va pas être interprété, et sera affiché tel que (comme un contenu HTML)
 
Voilà, j'espère avoir été "clair".


---------------
- Xav - ...There are no crimes when there are no laws... -- Xav's World
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed