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 :

Sessions, cookies ou base de données


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Février 2004
    Messages
    582
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2004
    Messages : 582
    Par défaut Sessions, cookies ou base de données
    Bonjour,
    Voilà je développe une application php, sur toutes mes pages j'ai une liste déroulante (qui pourra contenir jusqu'à une centaine de lignes). Les données de cette liste dépendent de l'utilisateur connecté et de ces droits. Je vais récupérer les données de la liste dans ma base de données (sur potentiellement plusieurs tables).
    Je voulais savoir ce qui serait le mieux:
    - réinterroger la base de données à chaque page pour récupérer la liste
    - stocker les données de la liste en variable de session
    - ou les stocker dans les cookies (actuellement j'utilise codeIgniter, qui au lieu de stocker dans les variables de sessions, stocke les infos sessions dans les cookies).
    Qu'est ce qui sera le plus rapide pour l'affichage de mes pages, les utilisateurs passant rapidement d'un écran à l'autre?
    Je vous remercie d'avance de vos conseils avisés!

  2. #2
    Expert confirmé
    Avatar de rawsrc
    Homme Profil pro
    Dev indep
    Inscrit en
    Mars 2004
    Messages
    6 142
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Dev indep

    Informations forums :
    Inscription : Mars 2004
    Messages : 6 142
    Billets dans le blog
    12
    Par défaut
    Salut,

    il faut te poser la question de la durée de validité de tes données.

    Tu dis que la liste provient de l'interrogation de plusieurs tables :
    1. Est-ce qu'au cours d'une même session ces données peuvent changer ?
    Si elles peuvent changer :
    2. Est-ce que c'est uniquement à l'initiative de la session en cours ou tout autre utilisateur connecté peut influer sur ces dernières ?

    Si tu as répondu oui au deux questions précédentes : t'as pas le choix : base de données.
    Si non, cache en fichier, en session ou même via un outils tiers.
    Si les données ne sont modifiables qu'à l'initiative de la session en cours, penses à rafraîchir le cache à chaque modification.

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Février 2004
    Messages
    582
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2004
    Messages : 582
    Par défaut
    Merci de cette réponse très claire.
    Les données ne changeant pas au sein du même session (ou si elles changent, une déconnexion/reconnexion peut très bien être envisagée), je vais donc prendre la 2ème solution.
    Le framework CodeIgniter remplacent les fonctions de session PHP et stockent les données non dans les variables sessions mais dans les cookies, par contre elles sont encodées.
    Est-ce que cette solution est correcte ou vaut-il mieux utiliser les sessions PHP?
    Je vous remercie.

  4. #4
    Expert confirmé
    Avatar de rawsrc
    Homme Profil pro
    Dev indep
    Inscrit en
    Mars 2004
    Messages
    6 142
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Dev indep

    Informations forums :
    Inscription : Mars 2004
    Messages : 6 142
    Billets dans le blog
    12
    Par défaut
    Salut,

    Personnellement, ma préférence va pour les sessions. Après les cookies ça peut dépanner mais bon, leur contenu n'est pas du tout fiable...

  5. #5
    Membre éclairé Avatar de EIN-LESER
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2008
    Messages
    703
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Marne (Champagne Ardenne)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Service public

    Informations forums :
    Inscription : Mai 2008
    Messages : 703
    Par défaut
    Personnellement je dirais session aussi aussi.
    Un petit tableau dans le quel se trouvent tous les lignes du select.

    Une réinterrogation systématique de la BdD a chaque changement de page, pour chaque user connecté, va générer une utilisation inutile de ton serveur de base de données.

  6. #6
    Membre éclairé
    Profil pro
    Inscrit en
    Février 2004
    Messages
    582
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2004
    Messages : 582
    Par défaut
    Merci pour vos réponses.
    Je vais donc utiliser les sessions PHP et modifier mon framework pour ne pas utiliser les cookies.

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

Discussions similaires

  1. [2.x] insertion session dans la base de données
    Par géraldineBDI dans le forum Symfony
    Réponses: 0
    Dernier message: 19/11/2013, 11h22
  2. Réponses: 19
    Dernier message: 04/02/2009, 10h17
  3. Réponses: 18
    Dernier message: 10/11/2006, 13h33
  4. Réponses: 17
    Dernier message: 28/07/2006, 20h18
  5. Stocker les sessions dans une base de données
    Par mic79 dans le forum Langage
    Réponses: 7
    Dernier message: 06/04/2006, 21h57

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