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] set_save_handler/pb suivi session


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Femme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Septembre 2003
    Messages
    22
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 63
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Santé

    Informations forums :
    Inscription : Septembre 2003
    Messages : 22
    Par défaut [Cookies] set_save_handler/pb suivi session
    Bonjour,

    J'ai choisi de gérer moi même mes sessions et pour valider cette idée
    j'ai réutilisé le code example fourni dans le manuel php en ligne.
    J'ai mis ce code dans un include.
    Pour chaque page, je spécifie l'include, puis je passe l'instruction de
    session_start().
    J'ai constaté que sur chacune de mes pages une nouvelle Id de session
    est attribuée (ce que je ne souhaite pas) et mon tableau $_SESSION ne
    contient plus ses valeurs.
    Je n'utilise que des sessions entre mes pages, pas de méthode POST/GET.
    Mais je positionne un cookie à chaque page et ce dernier contient le SID,
    le nom de l'hôte et le chemin et la durée de vie est à 0.
    Dans le répertoire où se trouvent les infos sur les sessions, je constate
    effectivement un fichier par page.
    Ce que je souhaite faire, c'est de mémoriser mes variables de l'application
    dans la superglobale $_SESSION à partir de la 1ere page pour toute l'application
    afin de ne pas avoir à décoder tous mes fichiers paramètres à chaque page.
    Si quelqu'un pouvait éclairer ma lanterne ...
    D'avance merci

  2. #2
    Membre averti
    Femme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Septembre 2003
    Messages
    22
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 63
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Santé

    Informations forums :
    Inscription : Septembre 2003
    Messages : 22
    Par défaut
    Suite à la consultation d'autres forums je voudrais préciser l'architecture
    de mes pages.
    L'utilisateur arrive sur la page d'index qui est un formulaire de login avec
    saisie de login/pass. En tête de cette 1ere page j'ai une instruction de
    session_start().
    Les variables sont envoyées vers une page de traitement avec un POST
    qui vérifie le login/pass.
    Cette page contient aussi une instruction session_start().
    Au cours de la vérification du login, suivant le nom d'utilisateur on
    arrive sur une 3eme page (A) ou une 3eme page (B) qui sont dans un
    include.
    Les pages 3 sont des menus sur lesquels l'utilisateur effectue ses choix.
    Sur ces pages 3 j'ai également un session_start().

    Chacune de ces intructions session_start() me démarre apparement
    une nouvelle session avec un nouvel SID et un nouveau fichier sur le disque.
    Or, il me semblait avoir compris qu'après la 1ere initialisation de session
    les autres instructions session_start() servaient à relire le contenu de
    $_SESSION stocké dans le fichier sur le disque ou la bdd.

    Y-aurait-il quelque chose que j'aurais mal compris ?
    Merci

  3. #3
    Membre chevronné

    Homme Profil pro
    Inscrit en
    Août 2006
    Messages
    317
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Août 2006
    Messages : 317
    Par défaut
    Bizzare, as tu configuré ton cookie de stockage ?
    session_set_cookie_params

    A priori, ton utilisateur n'a pas l'air d'enregistrer d'identifiant de session donc php en genere un nouveau a chaque fois.

  4. #4
    Membre averti
    Femme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Septembre 2003
    Messages
    22
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 63
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Santé

    Informations forums :
    Inscription : Septembre 2003
    Messages : 22
    Par défaut
    Non, mais juste après session_start() je fais
    setcookie ("biocookie",SID,0,$Chemin,$Domaine);
    ce qui me créé bien un cookie dans le navigateur avec l'id de
    la session courante.
    Par ailleurs j'ai un include qui positionne divers paramètres pour
    mon application (inclus avant session_start()) contenant :
    -----------
    if ( ini_get( 'session.use_cookies' ) == 0 ) {
    ini_set('session.use_cookies','1');
    }
    if ( ini_get( 'session.use_only_cookies' ) !== 0 ) {
    ini_set('session.use_only_cookies','0');possibles
    }
    ini_set ('session.save_handler','user');
    ini_set ('session.save_path','/tmp');
    ini_set ('session.name','biosession');
    ini_set ('session.auto_start','0');
    ini_set ('session.cookie_lifetime','0');
    ini_set ('session.cookie_path','/');
    ini_set ('session.cookie_domain',NMVHOST);
    ini_set ('session.referer_check',RFSTRG);
    ini_set ('session.cache_limiter','nocache');
    ini_set ('session.hash_function','0');
    ini_set ('session.hash_bits_per_char','6');
    ini_set ('session.gc_maxlifetime','3600');
    ------------
    Lorsque je vérifie l'id de session avec un echo il correspond toujours
    au cookie.
    J'ai consulté pas mal d'exemples pour trouver une piste qui provoquerait
    l'attribution d'un nouvel id mais à chaque fois c'est pas mon cas:
    - le répertoire de stockage de la session est accessible
    - les fichiers de session sont bien créés à cet endroit
    - j'ai vu qu'il ne fallait pas invoquer session_start lors d'instructions de POST
    ou d'include de pages. Si je fais cela, je n'ai pas de nouvel id de session
    mais $_SESSION est vide = dans le fond le même problème.
    J'y ai passé des heures et je ne vois pas où chercher plus avant.
    Merci

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

Discussions similaires

  1. [Cookies] problème de comprehension-sessions
    Par fk04 dans le forum Langage
    Réponses: 3
    Dernier message: 06/06/2006, 21h09
  2. [Cookies] L'ID de session change à chaque fois ! :-(
    Par seb92500 dans le forum Langage
    Réponses: 3
    Dernier message: 20/04/2006, 12h38
  3. [Cookies] Problème avec les sessions PHP !!!
    Par boukay dans le forum Langage
    Réponses: 4
    Dernier message: 14/02/2006, 17h32
  4. detruire une cookie après fin de session
    Par MASSAKA dans le forum Général JavaScript
    Réponses: 9
    Dernier message: 25/08/2005, 16h02

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