Page 1 sur 2

Perte de session au rechargement de la page

Posté : 19 déc. 2012, 18:49
par JUSTINE
Bonjour à tous,
J'ai un soucis de perte de session
Je m'authentifie puis dans "main.php" il y a bien ma session de pseudo
MAIS quand je recalcule la page op parti la session !
J'ai bien en haut de page un session_start() dans connexion.php (là où je créé ma session) et dans main.php
Quelqu'un pourrait il m'aider?

mon main.php :
<?php session_start(); ?>
<!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=utf-8" />
<title>Untitled Document</title>
<link type="text/css" rel="stylesheet" href="/projet/css.css" />
<SCRIPT LANGUAGE="Javascript" SRC="js/js.js"> </SCRIPT>
<SCRIPT LANGUAGE="Javascript" SRC="js/les_connectes.js"> </SCRIPT>
</head>
<body>
<div id="tout">
<div id="banniere"><img src="images/ban_coeur.jpg" /></div>
	<div id="int">
        <div id="gauche"><div id="date"></div>
       
        <?php if (isset($_SESSION['pseudo'])){
         	echo "Bienvenue ". $_SESSION['pseudo']."<br>";
			echo " <a href='deconnection.php'>DECONNECTION</a>";
			}
		else {
		?>
           
        	<a href="connexion.html">CONNEXION</a>
        <?php } ?>
        	<a href="inscription.html">SINSCRIRE</a><br />
            <a href="preschezvous.php&pseudo=">Les personnes près de chez vous ! </a>
           
           <br /><div style="color:#003399";>Les connectés</div> <div id="connectes"></div>
        </div>
        <div id="droit">TEST 2</div>
    </div>
</div>

</body>
</html>
connexion.php
<?php session_start();
 header('Content-Type: text/html; charset=UTF-8');
mysql_connect("localhost", "root", "") or die("Impossible de se connecter : " . mysql_error());
mysql_select_db("aurelie") or die("erreur de connexion a la base de donnees");
$requete = "SELECT COUNT(*) AS id_users FROM users WHERE pseudo = '".$_POST['pseudo']."' AND mdp = '".$_POST['mdp']."'";
$quer = mysql_query($requete) or die("requete non envoyée");
$res = mysql_fetch_array($quer) or die("requete non reçue");
if($res['id_users'] == 1){
	echo "ok"; 
	$insert = "UPDATE users SET connexion='oui' WHERE id_users = '".$res['id_users']."'";
	mysql_query($insert);
	$_SESSION['pseudo'] = $_POST['pseudo'];
	echo $_SESSION['pseudo'];
	
}
else { 
	echo "non";
}
?>
ps : je suis en local sous wamp
En attendant, je continue de chercher
Merci

Re: Perte de session au rechargement de la page

Posté : 19 déc. 2012, 19:54
par xTG
Les cookies de ton navigateur sont-ils activés ?

Re: Perte de session au rechargement de la page

Posté : 19 déc. 2012, 20:00
par JUSTINE
oui (je suis sous chrome)

Re: Perte de session au rechargement de la page

Posté : 19 déc. 2012, 22:00
par xTG
Je ne vois qu'un possible problème de session non initialisée sur main.php alors. (quand il y a des caractères non imprimables avant le <?php)
Quel est ton niveau de error_reporting ?

Re: Perte de session au rechargement de la page

Posté : 20 déc. 2012, 16:37
par Invité
je dois mettre
error_reporting(E_ALL);
si c'est le cas, ça ne me dis rien du tout

Re: Perte de session au rechargement de la page

Posté : 20 déc. 2012, 17:01
par xTG
Bizarre tout ça...
A tout hasard tentes avec un autre navigateur internet.

Tu peux aussi vérifier que le paramètre session.cookie_lifetime du php.ini est sur 0.

Tu accèdes bien à ton script via le même nom de domaine ? (localhost ou bien 127.0.0.1 par exemple)

Re: Perte de session au rechargement de la page

Posté : 20 déc. 2012, 17:13
par JUSTINE
j'ai testé avec FF et toujours le même problème

session.cookie_lifetime du php.ini est bien à 0

oui suis en localhost
j'avais testé il y a quelque temps chez free et chez 1&1 et j'avais le même problème
c'est pour cette raison que je travaille maintenant en local...

Re: Perte de session au rechargement de la page

Posté : 20 déc. 2012, 21:12
par xTG
<a href="connexion.html">CONNEXION</a>
Le lien n'est pas à jour où bien ton fichier de connexion porte bien l'extension html ?

Re: Perte de session au rechargement de la page

Posté : 20 déc. 2012, 21:20
par JUSTINE
connexion.html va vers le formulaire d'identification qui sera traité par connexion.php

franchement cette histoire est vraiment trop bizarre
il y a quelques années, j'utilisais les session php et c'est la première fois que je rencontre ce problème :twisted:

Re: Perte de session au rechargement de la page

Posté : 20 déc. 2012, 22:35
par moogli
salut,


Que donne un var_dump($_SESSION); ?

Est ce que par hasard il n'y aurait un register_globals à on avec des variables qui porte le même nom que les variables de sessions ?



@+

Re: Perte de session au rechargement de la page

Posté : 20 déc. 2012, 23:15
par JUSTINE
le var dump quand la session s'affiche bien ça me donne
array (size=1)
  'pseudo' => &string 'gertrude' (length=8)
et quand je recharge
array (size=1)
  'pseudo' => &null
pour déclarer ma variable de session j'ai fait ça :
$_SESSION['pseudo'] = $_POST['pseudo'];
ps : j'ai pas très bien compris ta deuxième question ...

Re: Perte de session au rechargement de la page

Posté : 20 déc. 2012, 23:31
par moogli
il n'y a que ça dans ta page ?

la variable de session existe bien.

As tu une variable $pseudo dans ton code ? (qui prendrais un null ?).

Qu'elle est la valeur du paramètre register_globals ? (dans un phpinfo()).



@+

Re: Perte de session au rechargement de la page

Posté : 21 déc. 2012, 00:19
par JUSTINE
non je n'ai pas de $pseudo

mes codes que j'utilise sont écris en haut du post et ce sont les seuls... (pour ce cas)

register_globals est à "on"

c'est quand même un problème de dingue ! :twisted:

Re: Perte de session au rechargement de la page

Posté : 21 déc. 2012, 08:07
par dix2
salut,

- reprends tous tes fichiers et enlève tout ce qui est superflu par rapport aux sessions
- teste
- poste tous les fichiers et indique si ça fonctionne ou pas

dix2

Re: Perte de session au rechargement de la page

Posté : 21 déc. 2012, 10:06
par xTG
Il n'y a que moi qui trouve étrange que la simple affectation fasse une affectation par référence ?
C'est donc normal de ne pas retrouver la variable vu qu'elle est locale au script.
Reste plus qu'à trouver pourquoi on a ce fichu passage par référence. :shock:

Car tu devrais avoir ceci :
array (size=1)
  'pseudo' => string 'gertrude' (length=8)