PHP recuperer variable de session
Coralie
-
Coralie -
Coralie -
Bonjour,
En page 1 : l'utilisateur se logue
session_start();
...
$pseudo = $_SESSION['pseudo'];
en page 2 : des liens doivent apparaitre SI la variable de session existe
session_start();
if (isset($_SESSION['pseudo']))
{echo $_SESSION['pseudo'];};
En page 1, mes fonctions fonctionnent car je parviens à afficher la variable de session avec un echo (Bienvenue $_SESSION['pseudo']).
Mon test en page 2 ne fonctionne pas, alors que j'ai bien commencer ma page par un session_start()...
Quelqu'un peut il m'aider ?
Merci merci
En page 1 : l'utilisateur se logue
session_start();
...
$pseudo = $_SESSION['pseudo'];
en page 2 : des liens doivent apparaitre SI la variable de session existe
session_start();
if (isset($_SESSION['pseudo']))
{echo $_SESSION['pseudo'];};
En page 1, mes fonctions fonctionnent car je parviens à afficher la variable de session avec un echo (Bienvenue $_SESSION['pseudo']).
Mon test en page 2 ne fonctionne pas, alors que j'ai bien commencer ma page par un session_start()...
Quelqu'un peut il m'aider ?
Merci merci
A voir également:
- PHP recuperer variable de session
- Recuperer message whatsapp supprimé - Guide
- Impossible de récupérer mon compte gmail - Guide
- Récupérer mon compte facebook désactivé - Guide
- Comment récupérer un compte facebook piraté - Guide
- Comment recuperer une video sur youtube - Guide
18 réponses
C'est dingue d'ailleurs, dans tous les tutos ou script, ca parait simple comme bonjour en utilisant un session_start, mais impossible de le faire marcher... quelqu'un aurait il une solution svp ?
merci d'avance
merci d'avance
Bonjour,
Tu as essayé de mettre dans ta page 2 simplment :
session_start();
echo $_SESSION['pseudo'];
Petite remarque en passant tu as un point virgule en trop :
if (isset($_SESSION['pseudo']))
{
echo $_SESSION['pseudo'];
}; <-- celui là
A+.
Tu as essayé de mettre dans ta page 2 simplment :
session_start();
echo $_SESSION['pseudo'];
Petite remarque en passant tu as un point virgule en trop :
if (isset($_SESSION['pseudo']))
{
echo $_SESSION['pseudo'];
}; <-- celui là
A+.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
malheureusement ca ne change rien...
merci pour ton aide quand meme :(
qq'un a une autre idée ? je ne dois pas etre la seule a qui ce point pose probleme je pense... mais rien de pertinent dans les tutos et forum en ligne...
merci pour ton aide quand meme :(
qq'un a une autre idée ? je ne dois pas etre la seule a qui ce point pose probleme je pense... mais rien de pertinent dans les tutos et forum en ligne...
Page 1 :
<?php
mysql_connect("localhost", "login", "pass");
mysql_select_db("mabase");
session_start();
$loginOK = false;
if ((!empty($_POST['email'])) && (!empty($_POST['password'])) )
{
extract($_POST);
$sql = "SELECT pseudo, password FROM matable WHERE email = '".addslashes($email)."'";
$req = mysql_query($sql) or die('Erreur SQL : <br />'.$sql);
if (mysql_num_rows($req) > 0) {
$data = mysql_fetch_assoc($req);
if ($password == $data['password']) {$loginOK = true;}
}
if ($loginOK) {$_SESSION['pseudo'] = $data['pseudo'];
$_SESSION['pseudo'] = $pseudo ;
}
};
mysql_close();
?>
Lien en page 1 pour aller en page 2 :
$sqlconnectes = "SELECT pseudo FROM matable";
$rqconnectes = mysql_query($sqlconnectes);
while($rang = mysql_fetch_array($rqconnectes))
{echo '<a href=profil.php?membre='.$rang['pseudo'].'>'.$rang['pseudo'].'</a>';}
Page 2 (où je teste si ma variable contient qq chose) :
<?php
session_start();
echo $_SESSION['pseudo'];
?>
<?php
mysql_connect("localhost", "login", "pass");
mysql_select_db("mabase");
session_start();
$loginOK = false;
if ((!empty($_POST['email'])) && (!empty($_POST['password'])) )
{
extract($_POST);
$sql = "SELECT pseudo, password FROM matable WHERE email = '".addslashes($email)."'";
$req = mysql_query($sql) or die('Erreur SQL : <br />'.$sql);
if (mysql_num_rows($req) > 0) {
$data = mysql_fetch_assoc($req);
if ($password == $data['password']) {$loginOK = true;}
}
if ($loginOK) {$_SESSION['pseudo'] = $data['pseudo'];
$_SESSION['pseudo'] = $pseudo ;
}
};
mysql_close();
?>
Lien en page 1 pour aller en page 2 :
$sqlconnectes = "SELECT pseudo FROM matable";
$rqconnectes = mysql_query($sqlconnectes);
while($rang = mysql_fetch_array($rqconnectes))
{echo '<a href=profil.php?membre='.$rang['pseudo'].'>'.$rang['pseudo'].'</a>';}
Page 2 (où je teste si ma variable contient qq chose) :
<?php
session_start();
echo $_SESSION['pseudo'];
?>
{$_SESSION['pseudo'] = $data['pseudo'];
$_SESSION['pseudo'] = $pseudo ;
J'ai l'impression que tu écrases la valeur de $data['pseudo']; avec celle de $pseudo.
$pseudo contient-il bien ce que tu crois ?
$_SESSION['pseudo'] = $pseudo ;
J'ai l'impression que tu écrases la valeur de $data['pseudo']; avec celle de $pseudo.
$pseudo contient-il bien ce que tu crois ?
J'avais bien pensé à ca, en page 1 j'ai fait des test echo pour afficher soit $_SESSION['pseudo'] ou $pseudo : ca fonctionne.
J'ai meme essayer de supprimer la ligne $_SESSION['pseudo'] = $pseudo
de ma page 1, avec toujours le meme résultat...
(merci lepere, c'est super sympa d'essayer de m'aider...)
Je n'ai donc toujours pas de solution :(
J'ai meme essayer de supprimer la ligne $_SESSION['pseudo'] = $pseudo
de ma page 1, avec toujours le meme résultat...
(merci lepere, c'est super sympa d'essayer de m'aider...)
Je n'ai donc toujours pas de solution :(
Je ne comprends pas très bien la logique de ton programme, mais ce n'est pas grave pour l'instant, ça n'explique pas ton problème
Peux tu modifier dans ta 1ère page :
if ($loginOK) {
$_SESSION['pseudo'] = $data['pseudo'];
echo '**',$_SESSION['pseudo'],'**';
}
et voir si ça affiche ou non la bonne valeur ?
Peux tu modifier dans ta 1ère page :
if ($loginOK) {
$_SESSION['pseudo'] = $data['pseudo'];
echo '**',$_SESSION['pseudo'],'**';
}
et voir si ça affiche ou non la bonne valeur ?
j'ai fait ce que tu as proposé :
- sur la page 1, ça s'affiche bien
- sur la page 2, seules les étoiles s'affichent...
Pour répondre a ta question :
- la page 1 est une home, où se trouvent une brique d'identification et une liste pseudos (dirigeant vers les pages profil : page 2)
- la page 2 est donc une page profil où sont listées plusieurs infos
Je veux afficher un lien en plus sur la page 2 "Lui écrire" permettant aux membres connectés de voir ce lien.
En gros sur la page 2 :
- si le membre est connecté
> afficher le lien "Lui écrire"
Pour cela il faut que je récupère la variable de session...
- sur la page 1, ça s'affiche bien
- sur la page 2, seules les étoiles s'affichent...
Pour répondre a ta question :
- la page 1 est une home, où se trouvent une brique d'identification et une liste pseudos (dirigeant vers les pages profil : page 2)
- la page 2 est donc une page profil où sont listées plusieurs infos
Je veux afficher un lien en plus sur la page 2 "Lui écrire" permettant aux membres connectés de voir ce lien.
En gros sur la page 2 :
- si le membre est connecté
> afficher le lien "Lui écrire"
Pour cela il faut que je récupère la variable de session...
Je ne comprends toujours pas. Je ne vois pas ce qui permettra de savoir si les autres membres sont connectés ou pas. Chacun ne verra que lui-même Il y a peut-être un malentendu fondamental sur ce que sont les variables de session.
Pour voir la page 2, tu cliques bien sur l'un de tes liens de la page 1? et c'est à ce moment que la page home est remplacée par la page profil, et que tu ne retrouves pas ta variable de session ?
Pour voir la page 2, tu cliques bien sur l'un de tes liens de la page 1? et c'est à ce moment que la page home est remplacée par la page profil, et que tu ne retrouves pas ta variable de session ?
Ma liste de connectés est une requete sql que je n'ai pas mis plus haut, mais qui fonctionne très bien.
Il n'y a pas de malentendu, ma variable de session me permettra d'afficher un lien sur la page 2, SI l'utilisateur est loggué.
Ca parait simple mais c'est un schmilblick sans nom :)
Il n'y a pas de malentendu, ma variable de session me permettra d'afficher un lien sur la page 2, SI l'utilisateur est loggué.
Ca parait simple mais c'est un schmilblick sans nom :)
ok, mais peux-tu me confirmer que pour voir la page 2 tu cliques sur un lien de la page 1, tu ne te contentes pas de rafraichir la page 2 ou de la rouvrir en tapant l'adresse ?
Au fait, travailles-tu en local, ou as-tu un lien sur lequel on peut voir ce qui se passe ?
As-tu des messages d'erreurs que tu aurais considérés comme négligeables ?
Au fait, travailles-tu en local, ou as-tu un lien sur lequel on peut voir ce qui se passe ?
As-tu des messages d'erreurs que tu aurais considérés comme négligeables ?
oui pour aller en page 2, il faut cliquer sur le lien en page 1...
je ne bosse pas en local, mon site de test est hebergé chez free
je ne bosse pas en local, mon site de test est hebergé chez free
As-tu créé un répertoire "sessions" à la racine de ton site ? c'est obligatoire chez free pour que les sessions marchent. Mais sans ce répertoire, tu aurais dû avoir des messages d'erreur.
Si ton site est hébergé chez free, peux-tu donner l'adresse et créer un identifiant bidon pour que je puisse faire la manip et voir le problème ?
Si ton site est hébergé chez free, peux-tu donner l'adresse et créer un identifiant bidon pour que je puisse faire la manip et voir le problème ?