Se connecter / S'enregistrer
Votre question

Récupération de variables au cours d'une session php

Tags :
  • Sql
  • Programmation
Dernière réponse : dans Programmation
14 Juillet 2006 00:17:59

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...



Autres pages sur : recuperation variables cours session php

14 Juillet 2006 00:23:48

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
14 Juillet 2006 18:46:04

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...



Contenus similaires
14 Juillet 2006 19:29:46

Il faut que ton session_start sois avant tout. en première ligne.
a c 232 L Programmation
14 Juillet 2006 19:45:01

Citation :
',$_SESSION['pseudo'],'


Il faut concaténer avec des points et pas des virgules !

  1. '.$_SESSION['pseudo'].'
15 Juillet 2006 05:08:01

Exacte il faut mettre un session start au tout debut de ta page
15 Juillet 2006 20:26:06

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 !!!
Tom's guide dans le monde
  • Allemagne
  • Italie
  • Irlande
  • Royaume Uni
  • Etats Unis
Suivre Tom's Guide
Inscrivez-vous à la Newsletter
  • ajouter à twitter
  • ajouter à facebook
  • ajouter un flux RSS