Récupération de variables au cours d'une session php
Forum Programmation : Récupération de variables au cours d'une session php
Bonjour à tous,
Je voudrais utiliser les sessions pour protèger l'accès à des pages php et pour récupérer des variables sur ces pages.
Pas de problème pour la protection de l'accès ça fonctionne très bien, mais impossible de récupérer les variables.
Les codes que j'ai utilisé sont les suivants :
page login.php3
<?
session_start();
require("conf.php3" );
// CONNEXION A LA BASE DE DONNEE
$db_link = @mysql_connect($sql_serveur,$sql_user,$sql_passwd);
if(!$db_link) {echo "Connexion impossible à la base de données <b>$sql_bdd</b> sur le serveur <b>$sql_server</b><br>Vérifiez les paramètres du fichier conf.php3"; exit;}
// ON SELECTIONNE L'ENREGISTREMENT CONTENANT LE LOGIN ET
// MOT DE PASSE SAISIS A LA PAGE INDEX.HTM
$requete=mysql_db_query($sql_bdd,"select pseudo,passe,etabl, from membres where pseudo=\"$pseudo_membre\" and passe=\"$passe_membre\"",$db_link) or die(mysql_error());
// SI AUCUN ENREGISTREMENT NE CORRESPOND
if(mysql_num_rows($requete)==0)
{
// REDIRECTION VERS LA PAGE ERREUR
header("Location:$url_erreur" );
}
// SI LE LOGIN ET MOT DE PASSE SONT EXACTES
else
{
$_SESSION['pseudo'] = $data['pseudo'];
$_SESSION['passe'] = $data['passe'];
header("Location:verif.php?" );
}
// DECONNEXION MYSQL
mysql_close($db_link);
?>
page verif.php
<?
session_start(); // on démarre la session
if (!session_is_registered("passe" )){ // On vérifie si la session est bien crée
echo "Erreur : vous devez vous identifiez pour avoir accès à cette espace !"; // Message d'erreur
exit(); // On arrête l'exécution du script (donc tout ce qui est en dessous ne sera pas affiché)
}
else {
echo 'Bienvenue <b> ',$_SESSION['pseudo'],'</b><br>'; // Message de bienvenue
echo "<a href=logout.php>Vous déconnectez ?!</a><br>";
echo "<a href=cycles1.php>Accès à votre espace ?!</a><br>";
}
?>
La page cycles1.php qui est égalment protègée s'affiche correctement si on a rentré un pseudo et un mot de passe correct. Sinon on a un message d'erreur.
Impossible par contre d'afficher le pseudo sur la page verif.php ou sur une autre page...
Essaye sa :
@session_start();
$_SESSION['pseudo'] = $data['pseudo'];
$_SESSION['passe'] = $data['passe'];
Au lieu de
$_SESSION['pseudo'] = $data['pseudo'];
$_SESSION['passe'] = $data['passe'];
Je sais pas si j'ai bien compri mais si tu veu initialiser la session il faut utiliser ce que j'ai mis
Merci Stephj915
Mais ça ne marche toujours pas ! J'ai remplacé le code sur la page login.php3 par celui que tu m'as donné mais cela ne change rien.
Je voudrais que le pseudo s'affiche dans la page vérif.php comme cela :
Bienvenue "pseudo"
Vous déconnectez ?!
Accès à votre espace ?!
Mais la variable pseudo ne s'affiche pas, j'ai seulement cela :
Bienvenue
Vous déconnectez ?!
Accès à votre espace ?!
La variable est reconnue pour l'ouverture de la page, mais elle ne s'affiche pas...
Il faut que ton session_start sois avant tout. en première ligne.
| Citation : ',$_SESSION['pseudo'],' |
Il faut concaténer avec des points et pas des virgules !
Code :
|
Exacte il faut mettre un session start au tout debut de ta page
J'ai essayé avec ce code qui semble reprendre vos proprositions :
<?session_start();
if (!session_is_registered("passe" )){
echo "Erreur : vous devez vous identifiez pour avoir accès à cette espace !";
exit();
}
else {
echo 'Pseudo : '.$_SESSION['pseudo'].'
';
echo "<a href=logout.php>Vous déconnectez ?!</a><br>";
echo "<a href=cycles1.php>Accès à votre espace ?!</a><br>";
}
?>
Ca marche toujours pas !!!
Il y a 2120 utilisateurs connus et inconnus. Pour voir la liste des connectés connus, cliquez ici.
