Une variable de session disparait en cours de route. Mais où est-elle ?
Bonjour,
Je viens de me rendre compte d'un problème extra-ordinaire :
A l'identification du membre, je récupère son pseudo depuis ses informations de connexion (mail et passe), au moyen d'une requête sql.
Je passe donc le pseudo en session, comme suit :
Code:
1 2 3 4 5 6 7 8 9
|
$affiche="SELECT pseudo FROM membre WHERE email='".$email."' AND motDePasse='".$passe."' AND valide='1' ";
$resultat = mysql_query("$affiche");
while (
$R = mysql_fetch_array($resultat))
{
$_SESSION['pseudo']=$R[pseudo];
;}
mysql_free_result($resultat); |
Juste en dessous dans le script, j'ai une ligne qui affiche :
Code:
1 2
|
echo "Bienvenue $_SESSION[pseudo]"; |
Jusque là tout va bien.
Mais si je quitte la page et que j'y reviens, la variable $_SESSION['pseudo'] a disparu.
Pourtant après avoir créer cette variable, j'en crée d'autres et elles elles sont toujours disponible dans le reste du site, y compris dans la page en question.
Comment cela ce puisse-t'il être ?
ça c'est le script complet (épuré quand même), si vous êtes patient :
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
|
if(!isset($_SESSION['pseudo']))
{
Citation:
<?php
//on va aller chercher dans la table le pseudo pour les placer en session et l'urlSite pour l'insérer directement dans la table commentaire ou réponse
$affiche="SELECT id, pseudo FROM membre WHERE email='".$email."' AND motDePasse='".$passe."' ";
$resultat = mysql_query("$affiche");
while (
$R = mysql_fetch_array($resultat))
{
$_SESSION['pseudo']=$R[pseudo];
//id sert à savoir où updater le numéro de membre provisoirement créé ci-dessous, pour le temps de la session ($numeroConnexion)
$id=$R[id]
;}
mysql_free_result($resultat);
//ici ce sont des variables qui font offices d'id de session : elles sont bien transmises partout.
$_SESSION['numeroConnexion']=$numeroConnexion;
$_SESSION['numeroConnexionVariable']=$numeroConnexionVariable;
;}//ferme if(!isset($_SESSION[id])
echo "Bienvenue $_SESSION[pseudo]";
?>
Colorez votre code PHP sur les forums grâce à Developpez.com?> |