IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

[Cookies] Style Switcher


Sujet :

Langage PHP

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    28
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 28
    Points : 15
    Points
    15
    Par défaut [Cookies] Style Switcher
    Hello,
    je travaille sur une nouvelle version de mon site web (http://ugcbb.free.fr), dans laquelle je veux intégrer un style switcher (ou sélecteur de style)...
    ma page de test se trouve ici : http://ugcbb.free.fr/ugcbb3/pages/futurindex.php
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    <head>
    <title>Union Gouvieux-Chantilly Basket-Ball</title>
    <link href="http://ugcbb.free.fr/
    <?php echo (!$ugcbbfreefr_stylecss)?'style1':$ugcbbfreefr_stylecss ?>
    .css" rel="stylesheet" type="text/css" media="screen" title="mon choix de style d'affichage" />
     
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
    </head>
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    <div id=style>Changement de style
    	  <form method="post" action="http://ugcbb.free.fr/selecteurstyle.php">
    		<label for="selectiondustyle">
               <select name="nouveau" id="selectiondustyle">
                   <option value="style1">style bleu </option>
                   <option value="style2">vert gouvieux</option>
     
     
               </select>
    </label>
    <input type="submit" value="Choisir ce style" />
    </form>
    </div>

    J'ai créé une page de création de cookies, selecteurstyle.php, située à la racine du site, code =
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    <?php
    setcookie ('ugcbbfreefr_stylecss', //nom du cookie
    $nouveau, //valeur du cookie
    time() + 31536000, //durée de vie (31 536 000 secondes = une année)
    '/', //répertoire de validité par rapport à la racine
    'http://ugcbb.free.fr', //nom de domaine COMPLET dont sous-domaine
    '0'); // 0 = pas sécurisé
    header("Location: ".$_SERVER['HTTP_REFERER']);  // retour à la page précédente
    ?>
    Mes feuilles de style "style1.css" et "style2.css" se trouvent également à la racine du site.

    Mon code reconnaît mon style1.css comme le style par défaut mais lorsque je test mon switcher pour passer en style2 ça ne marche pas ! help please...

  2. #2
    Membre éclairé
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    572
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Haute Vienne (Limousin)

    Informations forums :
    Inscription : Juin 2005
    Messages : 572
    Points : 716
    Points
    716
    Par défaut
    A mon avis c'est un problème de rafraichissement le css est gardé en cache et c'est assez problématique.
    Il y a peut etre une solution pour forcer le vidage du cache du navigateur en php ou javascript mais je ne le connais pas.

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    28
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 28
    Points : 15
    Points
    15
    Par défaut
    Donc personne ici ne sait faire de style switcher ?

    j'ai l'impression qu'il manque, dans la page de cookies, le code du type if isset $cookie.....else....

    mais je ne connais pas ce code.
    please help me les gens

  4. #4
    Expert éminent sénior

    Profil pro
    Inscrit en
    Juin 2002
    Messages
    6 152
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2002
    Messages : 6 152
    Points : 17 777
    Points
    17 777
    Par défaut
    Avez-vous essayé de remplacer :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <?php echo (!$ugcbbfreefr_stylecss)?'style1':$ugcbbfreefr_stylecss ?>
    Par :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <?php echo (isset($_COOKIE['ugcbbfreefr_stylecss']) && !empty($_COOKIE['ugcbbfreefr_stylecss']) ? $_COOKIE['ugcbbfreefr_stylecss'] : 'style1'); ?>
    ?


    Julp.

  5. #5
    Membre à l'essai
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    28
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 28
    Points : 15
    Points
    15
    Par défaut
    Oui et voici ma nouvelle ligne de code dans Head / head (page futurindex.php)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <link href="http://ugcbb.free.fr/<?php echo (isset($_COOKIE['ugcbbfreefr_stylecss']) && !empty($_COOKIE['ugcbbfreefr_stylecss']) ? $_COOKIE['ugcbbfreefr_stylecss'] : 'style1'); ?>.css" rel="stylesheet" type="text/css" media="screen" title="mon choix de style d'affichage" />
    mais rien n'y fait, lorsque j'ouvre la page futurindex.php, le style 1 est bien appelée, et lorsque je souhaite appeler style2.css rien ne change...le problème ne viendrait-t-il pas de ma page selecteurstyle.php?

    merci

  6. #6
    Expert éminent sénior

    Profil pro
    Inscrit en
    Juin 2002
    Messages
    6 152
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2002
    Messages : 6 152
    Points : 17 777
    Points
    17 777
    Par défaut
    Probablement, il y a encore un problème lié au register_globals on : dans selecteurstyle.php il faut remplacer aussi $nouveau par $_POST['nouveau'].

    J'espère qu'il n'en reste plus après


    Julp.

  7. #7
    Membre à l'essai
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    28
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 28
    Points : 15
    Points
    15
    Par défaut
    merci Julp mais rien a faire ça marche pas.

    est-ce que de ton côté quand tu test ma page ça marche ?

    y'a pas des "if" et "else" à mettre dans ma ligne d'appel de la feuille ?

  8. #8
    Expert éminent sénior

    Profil pro
    Inscrit en
    Juin 2002
    Messages
    6 152
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2002
    Messages : 6 152
    Points : 17 777
    Points
    17 777
    Par défaut
    Citation Envoyé par PIMPMAX
    est-ce que de ton côté quand tu test ma page ça marche ?
    Maintenant, oui : j'ai juste mis toute cette partie sur une seule ligne :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <link href="<?php echo (isset($_COOKIE['ugcbbfreefr_stylecss']) && !empty($_COOKIE['ugcbbfreefr_stylecss']) ? $_COOKIE['ugcbbfreefr_stylecss'] : 'style1'); ?>.css" rel="stylesheet" type="text/css" media="screen" title="mon choix de style d'affichage" />
    Et j'ai viré les paramètres de la fonction setcookie situé après celui qui fixe l'expiration qui ne sont pas utiles dans votre cas puisque ça revient à fixer les valeurs par défaut si je ne m'abuse.

    PS : un contrôle avant de faire le setcookie serait peut être plus sûr.


    Julp.

  9. #9
    Membre à l'essai
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    28
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 28
    Points : 15
    Points
    15
    Par défaut
    Donc en résumé....on a


    ligne d'appel de feuille de style:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <link href="<?php echo (isset($_COOKIE['ugcbbfreefr_stylecss']) && !empty($_COOKIE['ugcbbfreefr_stylecss']) ? $_COOKIE['ugcbbfreefr_stylecss'] : 'style1'); ?>.css" rel="stylesheet" type="text/css" media="screen" title="mon choix de style d'affichage" />
    et selecteurstyle.php devient :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    <?php
    setcookie ('ugcbbfreefr_stylecss', //nom du cookie
    $_POST['nouveau'], //valeur du cookie
    time() + 31536000, //durée de vie (31 536 000 secondes = une année)
    )
    header("Location: ".$_SERVER['HTTP_REFERER']);  // retour à la page précédente
    ?>
    c'est bien ça ?
    cette fois-ci mon CSS par défaut n'est plus appelé et le switcher ne marche pas non plus

  10. #10
    Expert éminent sénior

    Profil pro
    Inscrit en
    Juin 2002
    Messages
    6 152
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2002
    Messages : 6 152
    Points : 17 777
    Points
    17 777
    Par défaut
    Relisez-vous ! Sur une instruction vous faîtes deux erreurs :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    setcookie ('ugcbbfreefr_stylecss', //nom du cookie
    $_POST['nouveau'], //valeur du cookie
    time() + 31536000pas de virgule //durée de vie (31 536 000 secondes = une année)
    );

    Cordialement, Julp.

  11. #11
    Membre à l'essai
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    28
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 28
    Points : 15
    Points
    15
    Par défaut


    OK Julp, désolé pour ces erreurs...effectivement j'ai corrigé mon fichier selecteurstyle.php et......ça marche , enfin !

    Merci Julp pour votre aide et votre patience.

    A+

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [JavaScript] [SRC] Style switcher
    Par Bisûnûrs dans le forum Contribuez
    Réponses: 31
    Dernier message: 30/01/2009, 17h49
  2. Style Switcher CSS/PHP > redirection avec 2 includes
    Par swaag dans le forum Mise en page CSS
    Réponses: 4
    Dernier message: 11/12/2006, 15h50
  3. [PHP-Langage] Probleme pour réaliser un Style switcher
    Par budylove dans le forum Langage
    Réponses: 2
    Dernier message: 16/06/2006, 16h28
  4. [theorie] style switcher en javascript
    Par psychoBob dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 27/05/2006, 16h32
  5. Poposer aux visiteurs de choisir le design, style switcher
    Par frimo dans le forum Mise en page CSS
    Réponses: 6
    Dernier message: 29/11/2004, 19h15

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo