Précédent   Forum des professionnels en informatique > PHP > Langage > Sessions
Sessions Forum d'entraide sur les sessions avec PHP. Avant de poster -> FAQ sessions, Cours sessions et Sources sécurité
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 24/07/2006, 15h35   #1
Membre à l'essai
 
Inscription : septembre 2005
Messages : 78
Détails du profil
Informations forums :
Inscription : septembre 2005
Messages : 78
Points : 24
Points : 24
Par défaut Perte de session

Bonjour à tous,

J'ai un petit soucis avec les sessions...

J'ai ceci comme script qui lance une session :

Code :
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
28
29
30
31
32
33
34
35
36
37
38
39
Citation:
<?php include 'data.php'; $pseudo = addslashes($_POST['pseudo']); $password = addslashes($_POST['password']); $sql = "SELECT * FROM player_tbl WHERE pseudo='".$pseudo."' AND password='".$password."'"; $req = mysql_query($sql) or die ('Erreur sql : '.$sql.'<br>'.mysql_error()); $result = mysql_num_rows($req); if ($result == 0)       {       header("location:index.php?mess=6");       } else       {       while ($data = mysql_fetch_assoc($req))             {             session_name('pes');             session_start();             $_SESSION['pseudo'] = $data['pseudo'];             $_SESSION['password'] = $data['password'];             $_SESSION['prenom'] = $data['prenom'];             }       header("location:index.php");       } ?>
Colorez votre code PHP sur les forums grâce à Developpez.com
Sur la page suivante, à savoir index.php, je suis bien logué. Mon problème est que lorsque je navigue un peu sur le site, je perds la session et j'ignore complètement pourquoi....

Cela arrive souvent lorsque je sors d'une page spécifique. J'ai pourtant vérifié et revérifié, je lance bien le "session_start" sur cette page... et sur toutes les pages ou je veux me rendre d'ailleurs...

Si quelqu'un a une idée...

Pour info, je suis en hébergement mutualisé chez Celeonet...

Merci de votre aide,

Bertrand
tochbee est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/07/2006, 15h45   #2
Membre éprouvé
 
Homme
Inscription : avril 2005
Messages : 611
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 28
Localisation : Turquie

Informations forums :
Inscription : avril 2005
Messages : 611
Points : 459
Points : 459
déjà faire
Code :
1
2
3
 
session_name('pes');
session_start();
çà dans une boucle c'est pas top.

et sinon pour la perte de session fait aussi attention à ce que session_start soit lancer avant toute écriture ... et fait gaffe à tes includes
maximenet est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/07/2006, 15h52   #3
Membre à l'essai
 
Inscription : septembre 2005
Messages : 78
Détails du profil
Informations forums :
Inscription : septembre 2005
Messages : 78
Points : 24
Points : 24
Citation:
Envoyé par maximenet
déjà faire
Code :
1
2
3
 
session_name('pes');
session_start();
çà dans une boucle c'est pas top.

et sinon pour la perte de session fait aussi attention à ce que session_start soit lancer avant toute écriture ... et fait gaffe à tes includes
C'est une boucle mais il n'y a de toute façon qu'un seul résultat possible

En ce qui concerne le session_start, il est bien avant toute écriture

Je continue de chercher...

Merci
tochbee est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/07/2006, 15h55   #4
Nouveau Membre du Club
 
Inscription : juin 2006
Messages : 60
Détails du profil
Informations personnelles :
Âge : 31
Localisation : France, Loire Atlantique (Pays de la Loire)

Informations forums :
Inscription : juin 2006
Messages : 60
Points : 25
Points : 25
Et faire le session_start() avant le session_name()?
Bacteries est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/07/2006, 16h02   #5
Membre émérite
 
Inscription : juillet 2005
Messages : 775
Détails du profil
Informations personnelles :
Âge : 29

Informations forums :
Inscription : juillet 2005
Messages : 775
Points : 858
Points : 858
Envoyer un message via AIM à ouatmad Envoyer un message via MSN à ouatmad Envoyer un message via Yahoo à ouatmad
tu peux aussi verifier la durée de vie de tes variables de sessions dans ton fichier de config
__________________
Les hommes naissent et demeurent libres et egaux en dignité et en droit. Les distinctions sociales ne peuvent etre fondées que sur l'utilité commune. Article 1 droits et de l'homme et du citoyen. 1789
ouatmad est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/07/2006, 16h05   #6
Membre à l'essai
 
Inscription : septembre 2005
Messages : 78
Détails du profil
Informations forums :
Inscription : septembre 2005
Messages : 78
Points : 24
Points : 24
Citation:
Envoyé par Bacteries
Et faire le session_start() avant le session_name()?
Salut,

Ca on ne peut pas....

Je me demande si cela ne viendrait pas de la redirection...

Voir : http://be2.php.net/manual/fr/functio...tart.php#57875

Je teste et je vous tiens au courant
tochbee est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/07/2006, 16h16   #7
Nouveau Membre du Club
 
Inscription : juin 2006
Messages : 60
Détails du profil
Informations personnelles :
Âge : 31
Localisation : France, Loire Atlantique (Pays de la Loire)

Informations forums :
Inscription : juin 2006
Messages : 60
Points : 25
Points : 25
Regarde le temps que dure ta session peut être?

Ou t'as pas un session_destroy() qui traine?
Bacteries est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/07/2006, 16h23   #8
Nouveau Membre du Club
 
Franck DUMONT
Inscription : avril 2005
Messages : 28
Détails du profil
Informations personnelles :
Nom : Franck DUMONT
Localisation : France, Nord (Nord Pas de Calais)

Informations forums :
Inscription : avril 2005
Messages : 28
Points : 31
Points : 31
Envoyer un message via MSN à Franck Dumont
Bonjour

Perso il faut mettre ouvrir la session au plus tôt.
<?php
session_start ();

xxxx
xxx
xxx


puis le code. nous utilisons cette methode dans nos développement avec méthode d'autentification

<?php
session_start();
@ $login = $_POST ['NAME'];
@ $passw = $_POST ['PASSWORD'];
require ('../include/fonction.php') ;
include ('../include/config.inc');
if (!isset ($idlang))
{@ $lang = getenv('HTTP_ACCEPT_LANGUAGE');
if ($lang == 'fr' )
{ $idlang=3; } # Set to french message =
else if ($lang == 'it' )
{ $idlang=1; } # Set to french message =
else $idlang=2;}
$adres_pc = $_SERVER ['REMOTE_ADDR'];
$adresse_pc = explode('.', $adres_pc );


bon courrage
Franck Dumont est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/07/2006, 16h43   #9
Membre éprouvé
 
Homme
Inscription : avril 2005
Messages : 611
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 28
Localisation : Turquie

Informations forums :
Inscription : avril 2005
Messages : 611
Points : 459
Points : 459
Citation:
Envoyé par tochbee
Je me demande si cela ne viendrait pas de la redirection...
tu fait bien toute tes redirections vers le meme domaine ?
maximenet est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/07/2006, 16h56   #10
Membre à l'essai
 
Inscription : septembre 2005
Messages : 78
Détails du profil
Informations forums :
Inscription : septembre 2005
Messages : 78
Points : 24
Points : 24
Citation:
Envoyé par maximenet
tu fait bien toute tes redirections vers le meme domaine ?
Oui, oui...
tochbee est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/07/2006, 17h14   #11
Membre à l'essai
 
Inscription : septembre 2005
Messages : 78
Détails du profil
Informations forums :
Inscription : septembre 2005
Messages : 78
Points : 24
Points : 24
Salut,

Du nouveau.. Après vérification, il s'avère que je perd uniquement $_SESSION['prenom'] mais pas les deux autres variables de session...

Comprend plus rien là
tochbee est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/07/2006, 17h23   #12
Membre à l'essai
 
Inscription : septembre 2005
Messages : 78
Détails du profil
Informations forums :
Inscription : septembre 2005
Messages : 78
Points : 24
Points : 24
J'ai trouvé!!

Enfin, j'ai trouvé une solution mais je ne vois pas pourquoi je perd cette variable...

J'ai renommé $_SESSION['prenom'] en $_SESSION['nom'] et plus de problème...

Merci de votre aide...
tochbee est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/07/2006, 19h36   #13
Membre éprouvé
 
Homme
Inscription : avril 2005
Messages : 611
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 28
Localisation : Turquie

Informations forums :
Inscription : avril 2005
Messages : 611
Points : 459
Points : 459
héhé c surement parce que tu doit utiliser une variable $prenom sur une de tes pages
maximenet est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 11h43.


 
 
 
 
Partenaires

Hébergement Web