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 :

problème de session id


Sujet :

Langage PHP

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

    Informations forums :
    Inscription : Février 2006
    Messages : 28
    Points : 21
    Points
    21
    Par défaut problème de session id
    Bonjour à tous,

    voila mon problème, dans une page j'ouvre une session et j'y entre des valeurs afin de les utiliser par la suite (logique).
    j'obtiens donc un numéro de session. Le problème est que lorsque je ré-ouvre la session, je me vois attribuer un nouveau ID de session et je ne peux donc pas utiliser mes variables de sessions!!

    Pour info mon application me sert depuis très longtemps mais je n'ai jamais eut de problème. Celui-ci est apparu en utilisant MAMP sous mac mais j'ai beau chercher la différence à droite à gauche, il ne semble pas y en avoir.

    merci d'avance

  2. #2
    Expert éminent
    Avatar de 12monkeys
    Homme Profil pro
    Webmaster
    Inscrit en
    Novembre 2006
    Messages
    4 093
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Webmaster
    Secteur : Service public

    Informations forums :
    Inscription : Novembre 2006
    Messages : 4 093
    Points : 9 031
    Points
    9 031
    Par défaut
    Bonsoir

    Qu'entends tu par :
    Citation Envoyé par jules_29 Voir le message
    lorsque je ré-ouvre la session
    As tu vérifié que ton navigateur autorise les cookies ?
    Vous souhaitez participer à la rubrique (X)HTML/CSS, contactez moi.
    débutez avec les CSS
    Pas de MP pour des questions techniques ! Mode d'emploi du forum ; Règles ; Pensez à la balise code ; Pas de SMS !
    Votez pour les messages qui vous ont aidés...

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

    Informations forums :
    Inscription : Février 2006
    Messages : 28
    Points : 21
    Points
    21
    Par défaut
    D'abord, oui mon navigateur accepte les cookies, je retrouve bien le petit fichier texte sur ma machine.

    ensuite, ce que je veux dire c'est juste que je fais un session_start(), mais pour être plus précis (et désolé de ne pas l'avoir fait plus tôt), voila le code qui, malgré sa grande simplicité, me pose des problèmes étranges :

    Pour la page appelante :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
     
    <!doctype html public "-//W3C//DTD HTML 4.0 //EN">
    <html>
    <head>
           <title>$$$$$$$$$</title>
           <meta name="Auteur" content="$$$$$$">
           <http-equiv="Date" content="23/02/2009">
    </head>
    <body>
     
    <?php
     
    include("cstes et fonctions/constantes.inc");
    include("cstes et fonctions/fonctions.inc");
    include("cstes et fonctions/fonctions_sql.inc");
    // Ouverture session :	
    	session_start();
    	echo session_id();
    // rÈcupÈration de la date du jour sous format UNIX :
    $_SESSION['date_page'] = Time();
     
    etc...
    et pour la page appelée :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
     
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
    <title>$$$$$$$</title>
    </head>
    <body>
     
     
    <?php 
    	session_start();
     
    	echo session_id();
    	echo $_SESSION['date_page'];	
     
    	?>
     
    </body>
    </html>
    Comme je l'ai dis précédemment, l'id de session obtenu est différent dans les 2 pages. Je retouve bien les cookies sur mon ordi mais je ne comprend pas pourquoi une nouvelle session est créee à chaque session_start()

    Si vous avez une petite idée je suis plus que preneur...

  4. #4
    Expert éminent
    Avatar de 12monkeys
    Homme Profil pro
    Webmaster
    Inscrit en
    Novembre 2006
    Messages
    4 093
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Webmaster
    Secteur : Service public

    Informations forums :
    Inscription : Novembre 2006
    Messages : 4 093
    Points : 9 031
    Points
    9 031
    Par défaut
    Bon déjà ce code devrait te donner une belle erreur car le session_start, comme les headers, devrait être dans le code avant tout affichage : http://php.developpez.com/faq/index....ssions_erreurs.

    Si tu n'as pas d'erreur apparente mets :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    error_reporting(E_ALL);
    dans ton code au début...

    Ensuite, le second code est appelé dans le premier, via un include ? Alors il n'est pas nécessaire de faire une seconde fois appel à un session_start, vu que c'est déjà fait dans le premier document...

    Pour aller plus loin c'est le même problème avec ton code HTML : si tu fais un include, pas besoin de remettre un doctype dans le second code, ni de balise head... tout ça sera en double... Affiche le code source et tu verra...
    Vous souhaitez participer à la rubrique (X)HTML/CSS, contactez moi.
    débutez avec les CSS
    Pas de MP pour des questions techniques ! Mode d'emploi du forum ; Règles ; Pensez à la balise code ; Pas de SMS !
    Votez pour les messages qui vous ont aidés...

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

    Informations forums :
    Inscription : Février 2006
    Messages : 28
    Points : 21
    Points
    21
    Par défaut
    Merci beaucoup, le fait de mettre le session_start() au tout début résout mon problème.
    En revanche le second code n'est pas appelé par un include mais par un formulaire. Je n'ai affiché que la partie session qui me posait problème en enlevant grassement ce qui était autour. c'est pourquoi mon code ne ressemble à rien.

    Cependant, ce qui me parait bizarre c'est que ce programme que j'avais conçu il y a bien 2 ans tourne, et est utilisé quotidiennement par une 15aine de personne, fonctionnait parfaitement sous windows avec easyphp sur un réseau d'entreprise. Le problème apparait pour la première fois en installant mamp sur mon mac??

    En tout cas c'est bien sympas et je m'efforcerais à l'avenir de suivre les règles de php avec un peu plus de sérieux

    bonne continuation

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

Discussions similaires

  1. [Servlets - JSP] Problème de session
    Par the java lover dans le forum Servlets/JSP
    Réponses: 8
    Dernier message: 28/11/2011, 09h54
  2. Problème de session
    Par kephy dans le forum Langage
    Réponses: 11
    Dernier message: 24/11/2005, 10h08
  3. Problème de session
    Par meda dans le forum Langage
    Réponses: 13
    Dernier message: 25/10/2005, 18h25
  4. problème de session en cours
    Par bertrand_declerck dans le forum Bases de données
    Réponses: 2
    Dernier message: 19/07/2005, 14h36
  5. Gros problème de session/cookies
    Par valfredr dans le forum XMLRAD
    Réponses: 18
    Dernier message: 03/06/2004, 09h21

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