Sessions perdues

Signaler
Messages postés
185
Date d'inscription
samedi 21 mai 2005
Statut
Membre
Dernière intervention
16 juillet 2016
-
Messages postés
2268
Date d'inscription
mercredi 27 novembre 2002
Statut
Membre
Dernière intervention
13 septembre 2013
-
bonjour,

j'ai essayé de gérer une session sur mon site en local avec easy php, hier ça marchait bien, et aujourd'hui, le passage de l'PHPSESSID semble mal fonctionner,
j'ai bien crée un dossier sessions dans ma racine, j'ai mis le chemin dans le fichier de config session.save_path, j'ai activé le session.use_trans_sid = 1, il se crée bien un fichier dans /sessions, lorsque je fais appel à session_start().

lorsque je fais $_SESSION['login'] =$login et ensuite echo $_SESSION['login'] dans la même page, c bon,
mais je fais ensuite un header('location:indexmembre.php');
et au début de indexmembre.php je fais appel au fichier de vérif :
<?php
session_start();
if ( !isset($_SESSION['login']))
{
header('location:../identification/form_login.php') ;
}
?>

et là il me renvoie toujours sur ma page de form_login.php, alors qu'il ne devrait pas, et le fichier de session se crée bien...

je ne comprends pas

please help me....

6 réponses

Messages postés
151
Date d'inscription
samedi 1 novembre 2003
Statut
Membre
Dernière intervention
30 juillet 2018

essaye

if ( !isset($_SESSION['login']))
{
header('Location: ../identification/form_login.php') ;
exit;
}
Messages postés
185
Date d'inscription
samedi 21 mai 2005
Statut
Membre
Dernière intervention
16 juillet 2016

ça marche toujours pas,

je comprend pas, quand je clique sur "identifier" de ma page principale, j'appelle le "indexmembre.php" :

indexmembre.php :
<?php include 'logue.php'?> renvoie directement à form_login puisque $_SESSION['login'] n'est pas enregistrée
...

logue.php :
<?php
session_start();
if ( !isset($_SESSION['login']))       c'est là le problème, il ne voit jamais que 'login' est enregistrée
{
header('location:../identification/form_login.php') ;
exit;
}
?>

form_login.php: formulaire d'identification qui envoie les infos en post à login.php

login.php :
<?php
include ('conf.php'); // paramètres de connection SQL
$login= $_POST ['login'];
$password =$_POST['password'];
if($login= ='' || $password=='')
{
echo '<script language=javascript> alert ("Vous avez oublié de remplir un champ.");</script>';
include('form_login.php');
exit;
}
$sql = "SELECT password FROM membre WHERE login='$login'";
$req = mysql_query($sql) or die('Erreur SQL !
'.$sql.'
'.mysql_error());
$data = mysql_fetch_array($req);
if($data['password'] != $password)
{
echo'<script language=javascript> alert ("Mauvais login / password. Merci de recommencer");</script>';
include('form_login.php');
exit;
}
else
{
session_start(); 
$_SESSION ['login'] =$login;
/*
if(isset($_SESSION['login'])){
echo 'variable enregistrée '.$_SESSION['login']; quand j'enlève les commentaires, il me dit bien que $_SESSION['login'] est enregistrée
}
*/
header ('location:index.php');
}
?>

Je sais pas, je pense pas que ce soit normal, mais en fait, il me crée trop plein de fichiers de sessions dans mon répertoire sessions, à chaque fois que je rafraichis, ou que je tente d'aller sur une page qui fais appel à logue.php....

je ne trouve pas l'erreur, je comprend pas

sinon, comment je peux vérifier que le transfert d'id de session de php est activé, le truc est à 1 dans le fichier de conf, mais normalement, je devrais pas le voir dans les urls avec un GET ????
Messages postés
185
Date d'inscription
samedi 21 mai 2005
Statut
Membre
Dernière intervention
16 juillet 2016

c'est p'tet normal mais faudrait qu'on m'explique,

quand j'accède en local à mon site : http://127.0.0.1/ les sessions ne fonctionnent pas

par contre quand je fais http://192.168.xx.xx/ les sessions fonctionnent, ça me dérange pas, mais ça m'oblige à être en réseau et ça c plutôt pas normal, non ???

si ququ'un sait d'ou ça vient, j'ai mis apache à écouter sur 127.0.0.1 et 192.168.xx.xx, je sais pas, c'est p'tet  un problème de configuration de apache en fait ??
Messages postés
2268
Date d'inscription
mercredi 27 novembre 2002
Statut
Membre
Dernière intervention
13 septembre 2013
3
Salut!
Es-tu sûr d'avoir les session_start sur TOUTES les pages? Je veux dire aussi que cela ne doit pas être conditionnel:
else
{
session_start(); 

>> Ca doit être en début de page, de manière incoditionnelle! :)

Bonne journée! :)

@++

R@f

www.allpotes.ch: Photos, humour, vidéos, gags, ...
"On dit que seulement 10 personnes au monde comprenaient Einstein. Personne ne me comprends. Suis-je un génie???"
Messages postés
185
Date d'inscription
samedi 21 mai 2005
Statut
Membre
Dernière intervention
16 juillet 2016

vraiment toutes ?? même genre sur les contact ou truc comme ça qui ont pas besoin ???
Messages postés
2268
Date d'inscription
mercredi 27 novembre 2002
Statut
Membre
Dernière intervention
13 septembre 2013
3
Salut!
Ben, si tu en met pas sur contact et que tu passes sur contact, ca te perdra ta session et tu devras te reloger... Donc, oui! :)

@++

R@f

www.allpotes.ch: Photos, humour, vidéos, gags, ...
"On dit que seulement 10 personnes au monde comprenaient Einstein. Personne ne me comprends. Suis-je un génie???"