Problème avec les sessions

auremy Messages postés 20 Date d'inscription jeudi 5 février 2004 Statut Membre Dernière intervention 12 juin 2004 - 3 mai 2004 à 15:19
auremy Messages postés 20 Date d'inscription jeudi 5 février 2004 Statut Membre Dernière intervention 12 juin 2004 - 7 mai 2004 à 18:39
Bonjour,

J'aimerais créer un espace réservé, protégé par login et mot de passe. Pour ceci, j'utilise un formulaire permetant d'entrer ses données et qui est testé par la suite par une fonction:

function indentifi_utilisateur ($login, $mdp)
{
 	if(connecter())
{
    $Req = "SELECT *
FROM `utilisateur`
WHERE `login`= '" . $login . "'
";
    $Res = mysql_query($Req);
    	$ligne = mysql_fetch_array($Res, MYSQL_ASSOC);
if($ligne["mdp_utilisateur"] != $mdp )
   		{
   			echo ("Mauvais login / password. Veuillez recommencer.");
include('form_valid_utilisateur.php'); // On inclus le formulaire d'identification
exit;
return false;
}
else
{
session_start();
$login=$ligne["login"];
$mdp=$ligne["mdp_utilisateur"];
$id_utilisateur=$ligne["id_utilisateur"];

$_SESSION['login']=$login;
$_SESSION['mdp']=$mdp;
$_SESSION['id_utilisateur']=$id_utilisateur;
include('accueil_utilisateur.php');
// affichage de l'administration du site
return true;
}
}
else
{
return false;
}
}

Par la suite, les pages suivantes se chargent directement dans membre.php en changeant uniquement le contenu. Cette page démarre à chaque fois la session et vérifie si l'utilisateur est loggé ou non.

membre.php
<code>
<?php
//Démarrage de la session
session_start();
?>

<?php
//Initialisation des variables
$contenu=" ";

if ($contenu!="identification" || $_GET['contenu']==" ")
{
     if (isset ($_SESSION['login'])==false)
     {
if( !session_is_registered("login") )
{
echo("... la page de départ en incluant le formulaire d'identification...");
exit;	   
}
}

$contenu=$_GET['contenu'];
?>
<HTML>
        <HEAD>
                <TITLE>Adomi - Animation pour enfants - Administration du site</TITLE>
                <LINK rel="stylesheet" type="text/css" href="Styles.css">
        </HEAD>
        
<?php
include("haut1.php");
?>

 
  <?php
include("menu_utilisateur.php");
?>

 
  <?php
if (isset($_GET['contenu'])==false)
{
include("form_identification.php?");
}
else
{
include($_GET['contenu'] . ".php");
}
?>

        
</HTML>


Lors de la première identification, je met en commentaire mon test sur la page membre

if (isset ($_SESSION['login'])==false)
     {
if( !session_is_registered("login") )
{
echo("... la page de départ en incluant le formulaire d'identification...");
exit;	   
}
}


Ma variable de session est prise en compte et reconnu par la suite. Quelqu'un pourrait-il m'indiquer d'où peut venir cette erreur ?

Merci.
Aurélie

2 réponses

ocalimero Messages postés 12 Date d'inscription vendredi 7 mai 2004 Statut Membre Dernière intervention 15 décembre 2004
7 mai 2004 à 15:02
Quelle est exactement l'erreur ?
la ligne "if( !session_is_registered("login") )" me semble incorrecte au vu du reste du code mais j'ai besoin de plus de détail sur l'erreur
0
auremy Messages postés 20 Date d'inscription jeudi 5 février 2004 Statut Membre Dernière intervention 12 juin 2004
7 mai 2004 à 18:39
Merci beaucoup d'avoir regardé, mais je pense que mon erreur était tout à fait autre part.
Lors de l'identification pour membre.php, le formulaire se trouvait déjà sur cette page ... hors la contraitre de session m'empêchait de me logger. J'ai donc mis le lien du formulaire d'identification sur la page index ... et la ça ne me pose plus aucun problème.
Je sais pas si j'ai été très clair dans mon explication :-
Merci quand même pour le coup d'oeil.

Le message d'erreur était : la variable login n'est pas définie.

Bye

Aurélie
0
Rejoignez-nous