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 :

enregistrement des préférences utilisateurs avec des cookies


Sujet :

Langage PHP

  1. #1
    Membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Mai 2014
    Messages
    96
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 35
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mai 2014
    Messages : 96
    Points : 59
    Points
    59
    Par défaut enregistrement des préférences utilisateurs avec des cookies
    Bonjour à tous !

    Je post ici pour vous demander un coup de main.
    Alors voilà, j'ai créé sur mon site un espace personnel personnalisable, on peut choisir un thème grâce à une liste déroulante. J'ai repris un tuto.
    j'utilise les cookies, de cette manière :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    <?php 
    if (isset($_POST['nouveau']) AND $_POST['nouveau'] != NULL)
            {$nouveau = $_POST['nouveau'];} 
    elseif (isset($_GET['nouveau']) AND $_GET['nouveau'] != NULL)
            {$nouveau = $_GET['nouveau'];}
    setcookie('reussitecritique_stylecss', $nouveau, time() + 31536000, '/', 'localhost/reussitecritique/index.php', '0'); 
    header("Location: ".$_SERVER['HTTP_REFERER']); 
    ?>
    et j'ai changé dans le <head> l'appel css :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <link href="/reussitecritique<?php echo (!$reussitecritique_stylecss)?'valeur-par-defaut':$reussitecritique_stylecss ?>.css" rel="stylesheet" type="text/css" media="screen" title="mon choix" />
    ensuite j'ai créé ce formulaire :

    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    <form method="post" action="/reussitecritique/selecteur-style.php">
    <p>
    <label for="selectiondustyle">Choisissez le style qui vous plaît et appuyez sur le bouton : </label> 
         <select name="nouveau" id="selectiondustyle">
              <option value="defaut">style normal (par défaut)</option>
              <option value="green">vert</option>
              <option value="blue">bleu</option>
              <option value="white">aperçu avant impression</option>
     
         </select>
    <input type="submit" value="Choisir ce style" title="valider le choix de style" />
    </p>
    </form>

    et les values ont le même nom que mes feuilles de style enregistrées a la racine.

    Mais voilà, cela ne marche pas!

    Est-ce que quelqu'un pourrait m'apporter son aide s'il vous plait?

    je travaille en localhost (je ne sais pas si ça joue?)

    Merci

    La sista

  2. #2
    Rédacteur

    Avatar de Bovino
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Points : 91 220
    Points
    91 220
    Billets dans le blog
    20
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    setcookie('reussitecritique_stylecss', ...);
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    echo (!$reussitecritique_stylecss)?'valeur-par-defaut':$reussitecritique_stylecss
    setcookie() ne te permet pas de créer une variable portant le nom du cookie, mais de créer un cookie qui sera envoyé avec la réponse HTTP.
    Sur les pages suivantes, le cookie est récupérable via le tableau $_COOKIE.

    Bref, dans ton code, la variable $reussitecritique_stylecss n'existe probablement pas.
    Pas de question technique par MP !
    Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi !
    Mes formations video2brain : La formation complète sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
    Mon livre sur jQuery
    Module Firefox / Chrome d'intégration de JSFiddle et CodePen sur le forum

  3. #3
    Membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Mai 2014
    Messages
    96
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 35
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mai 2014
    Messages : 96
    Points : 59
    Points
    59
    Par défaut
    Merci d'avoir répondu si vite!
    Du coup où dois-je placer le $_COOKIE, dans mon index.php? (je ne maîtrise pas du tout la question des cookies), mais vous aviez raison, la variable n'existe pas

    Merci

  4. #4
    Membre expert
    Avatar de Spartacusply
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2011
    Messages
    1 723
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mai 2011
    Messages : 1 723
    Points : 3 274
    Points
    3 274
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <link href="/reussitecritique<?php echo (!isset($_COOKIE['reussitecritique_stylecss']))?'valeur-par-defaut':$_COOKIE['reussitecritique_stylecss'] ?>.css" rel="stylesheet" type="text/css" media="screen" title="mon choix" />
    Un message utile vous a aidé ? N'oubliez pas le

    www.simplifions.fr - Simplifier vos comptes entre amis !

  5. #5
    Membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Mai 2014
    Messages
    96
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 35
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mai 2014
    Messages : 96
    Points : 59
    Points
    59
    Par défaut
    Merci. il n'y a plus d'erreur, mais mes feuilles css ne s'appliquent toujours pas. Pourtant elles ont le nom des values du formulaire...

  6. #6
    Expert éminent sénior

    Homme Profil pro
    Développeur Web
    Inscrit en
    Septembre 2010
    Messages
    5 382
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Septembre 2010
    Messages : 5 382
    Points : 10 410
    Points
    10 410
    Par défaut
    Ecris le link une première fois pour qu'il fonctionne sans variable php.

    Ecris le ensuite avec la variable php et si ça ne fonctionne pas fais afficher le code source de la page (Ctrl+u) pour vérifier ce qui est écris dans le link.

  7. #7
    Membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Mai 2014
    Messages
    96
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 35
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mai 2014
    Messages : 96
    Points : 59
    Points
    59
    Par défaut
    alors, du coup j'arrive à avoir ma feuille par défaut, mais impossible de charger les autres feuilles. En tous cas c'est déjà pas mal, merci. Je sens que ça va bientôt marcher !

    EDIT : j'ai modifié le link rel ainsi :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <link href="<?php echo (!isset($_COOKIE['reussitecritique_stylecss']))?'defaut':$_COOKIE['reussitecritique_stylecss'] ?>.css" rel="stylesheet" type="text/css" media="screen" title="mon choix" />
    EDIT 2 : quand je mets dans le link 'blue' à la place de défault, ça marche. du coup le problème doit venir de mon formulaire?

  8. #8
    Membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Mai 2014
    Messages
    96
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 35
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mai 2014
    Messages : 96
    Points : 59
    Points
    59
    Par défaut
    ça marche !!!
    j'ai retiré l'adresse de mon site dans le fichier qui met en place le cookie et ça marche!

    Merci!!

  9. #9
    Membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Mai 2014
    Messages
    96
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 35
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mai 2014
    Messages : 96
    Points : 59
    Points
    59
    Par défaut
    Bon, j'ai parlé trop vite!
    En effet, ça marche, mais les préférences du précédent utilisateur restent quand je me connecte avec un autre compte...
    Je crois que je vais finir par le faire en session...
    merci en tous cas pour ceux qui m'ont aidé!

  10. #10
    Rédacteur

    Avatar de Bovino
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Points : 91 220
    Points
    91 220
    Billets dans le blog
    20
    Par défaut
    Bah oui... un cookie est lié à un navigateur, pas à un utilisateur !
    Pas de question technique par MP !
    Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi !
    Mes formations video2brain : La formation complète sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
    Mon livre sur jQuery
    Module Firefox / Chrome d'intégration de JSFiddle et CodePen sur le forum

  11. #11
    Expert éminent sénior

    Homme Profil pro
    Développeur Web
    Inscrit en
    Septembre 2010
    Messages
    5 382
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Septembre 2010
    Messages : 5 382
    Points : 10 410
    Points
    10 410
    Par défaut
    Remarque que s'il faut s'authentifier pour avoir l'accès à l'espace personnel personnalisable, tu aurais mieux fait d'enregistrer les préférences en bdd, du coup l'utilisateur pourrait retrouver son environnement depuis n'importe quel ordinateur/navigateur.

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

Discussions similaires

  1. Enregistrement des préférences utilisateurs
    Par laSista dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 13/05/2014, 08h40
  2. Réponses: 1
    Dernier message: 12/05/2011, 09h14
  3. Réponses: 20
    Dernier message: 29/02/2008, 22h17
  4. Interface Utilisateur avec des droits
    Par Karibbean971 dans le forum Delphi
    Réponses: 5
    Dernier message: 18/09/2006, 16h30
  5. Utiliser MySqlAdmin avec des droits utilisateurs sur XP
    Par thorgal85 dans le forum Outils
    Réponses: 2
    Dernier message: 18/03/2005, 12h19

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