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 :

Perte de session


Sujet :

Langage PHP

  1. #1
    Membre confirmé
    Homme Profil pro
    Consultant E-Business
    Inscrit en
    Août 2010
    Messages
    216
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Consultant E-Business

    Informations forums :
    Inscription : Août 2010
    Messages : 216
    Par défaut Perte de session
    Bonjour à tous,

    Je viens de modifier la mise en place de session sur mon site et, alors que je n'avais pas de problème de session auparavant, mes sessions sont perdus au bout de 2 ou 3 changements de page.

    Voici le code qui me permet de mettre en place ma session :
    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
    23
    24
    25
    26
    27
    session_start(); 
    ini_set("session.gc_maxlifetime","2678400");
     
    if ( isset($_SESSION['ville']) ){
     
    	$geoFiltre 		= $_SESSION['ville'];
    	$idSecteur 		= $geoFiltre['ville'];
    } if ( isset($_GET['secteuraccueil']) ) {
     
    	$villeName				=  $_GET['secteuraccueil'];
     
    	$sqlQueryList			=
    		" SELECT VILLE_ID , VILLE_NAME ".
    		" FROM VILLE_LIST ".
    		" WHERE VILLE_NAME LIKE '$villeName'".
    		" ORDER BY VILLE_ID ASC LIMIT 0,1"; 
    		$reqList 			= mysql_query($sqlQueryList);
    		$reqVilleResult		= mysql_fetch_array($reqList);
    		$villeId 				= $reqVilleResult["VILLE_ID"];			
    	$geoFiltre['ville'] = $villeId;							
    	$_SESSION['ville'] = $geoFiltre;
     
    	$geoFiltre 		= $_SESSION['ville'];
    	$idSecteur 		= $geoFiltre['ville'];
    } else {
    	$idSecteur 		= 1;
    }
    Le premier IF verifie s'il y a une session en cours et la garde de page en page.
    Le second IF crée la session à partir de l'url qui lui vient de l'index.

    Que faut-il faire pour conserver ma session tant que mon navigateur est ouvert ?
    Ai-je des conflits dans mon code ?
    Est-ce que je m'y prend mal ?

    Merci par avance pour votre aide,

    Aurélien

  2. #2
    Membre expérimenté
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2009
    Messages
    127
    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 : Mai 2009
    Messages : 127
    Par défaut
    Bonjour

    Pour savoir quand la session est perdue, il serait pratique d'insérer le code suivant en bas de page

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <?php echo '<!-- session:-'.session_id().'- -->'; ?>
    Attention :
    - bien sur le session_start est en tout début de fichier
    - si fichier en utf8 alors sans bom

    Bon dev

  3. #3
    Membre confirmé
    Homme Profil pro
    Consultant E-Business
    Inscrit en
    Août 2010
    Messages
    216
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Consultant E-Business

    Informations forums :
    Inscription : Août 2010
    Messages : 216
    Par défaut
    Merci pour ta réponse,

    C'est chose faite et une fois la session perdue ça m'a affiché ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <!-- session:-7b53a1be895680ded59f9cbad9a1319c- -->
    Qu'est ce que cela indique ?

    Aurélien

  4. #4
    Membre expérimenté
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2009
    Messages
    127
    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 : Mai 2009
    Messages : 127
    Par défaut
    Bien en fait c'est le numéro de session qui est indiqué.
    Donc à priori la session est bien ouverte et bien active.

    Le problème est donc dans la gestion des sessions, parce qu'elle n'est pas perdue.

    Pour toi perdre la session c'est perdre la ville ?

  5. #5
    Membre Expert
    Avatar de Seb33300
    Homme Profil pro
    Développeur Web
    Inscrit en
    Janvier 2007
    Messages
    1 564
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Thaïlande

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

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 564
    Par défaut
    T'as un soucis la :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $geoFiltre 		= $_SESSION['ville'];
    $idSecteur 		= $geoFiltre['ville'];
    Il faut remplacer par :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $geoFiltre 		= $_SESSION['ville'];
    $idSecteur 		= $geoFiltre;

  6. #6
    Membre confirmé
    Homme Profil pro
    Consultant E-Business
    Inscrit en
    Août 2010
    Messages
    216
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Consultant E-Business

    Informations forums :
    Inscription : Août 2010
    Messages : 216
    Par défaut
    Vu que je suis débutant je reconnais qu'à priori oui

    A relire mon code je pencherai pour un conflit.
    A savoir que j'ai un systeme de gestion de session qui est double.
    Elle est mise en place depuis mon index et est recupérée sur ma page d'accueil via le nom de la ville sélectionnée.

    Puis dans les autres page elle est transmise via le numéro ID de la ville.



    A ton avis, quelle est la bonne piste à suivre ?
    Opter completement pour l'une ou l'autre des méthodes ??

    Merci pour ton aide,

    Aurélien

  7. #7
    Membre expérimenté
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2009
    Messages
    127
    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 : Mai 2009
    Messages : 127
    Par défaut
    Pour la méthode
    - transmission par url : bien si le site n'a pas besoin d'etre référencé
    - variable de session : plus clean au niveau de l'url et mieux pour le référencement, la sécurité

    Pour ton code je pense que Seb33300 a trouvé l'erreur.

    Bon dev

  8. #8
    Membre confirmé
    Homme Profil pro
    Consultant E-Business
    Inscrit en
    Août 2010
    Messages
    216
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Consultant E-Business

    Informations forums :
    Inscription : Août 2010
    Messages : 216
    Par défaut
    Merci à vous 2 pour vos réponses.

    J'ai fait le choix de tout passer en session via l'url et de recupérer la variable de session avec un get et ca fonctionne parfaitement bien.

    Merci encore.

    Aurélien

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

Discussions similaires

  1. [JSP][session] perte de session et sendRedirect
    Par blaz dans le forum Servlets/JSP
    Réponses: 6
    Dernier message: 30/03/2007, 10h32
  2. Perte de Session d'une page à l'autre
    Par Flam dans le forum Langage
    Réponses: 3
    Dernier message: 15/03/2006, 15h34
  3. [Struts]Redirection globale en cas de perte de session
    Par Mercenary Developer dans le forum Struts 1
    Réponses: 10
    Dernier message: 03/02/2006, 15h40
  4. [navigateur]Problême de pertes de sessions sous IE (.js)
    Par Invité4 dans le forum Général JavaScript
    Réponses: 26
    Dernier message: 21/11/2005, 18h53
  5. [VB.NET] Perte de session entre 2 projets
    Par TekP@f dans le forum ASP.NET
    Réponses: 3
    Dernier message: 02/05/2005, 10h12

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