Alors voila j'aurai besoin de votre aide pour résoudre un problème qui commence a me saouler legerement .
J'ai donc un site construit de la maniere suivante, un index avec a l'interieur inclus plusieurs fichiers php pour chaque menus du site, plus un autre fichier inclus qui sert a afficher le contenu suivant l'endroit où on se trouve (c'est un switch()).
J'ai donc un petit menu dans lequel on peut se logger, ou si on est déjà loggé on à accès au differentes options du menu membre.
Bref j'utilise pour l'authentification une fonction se trouvant dans un fichier qui contient toutes les fonctions .
Un session_start() se trouve au tout début de l'index (avant tout code html). La personne rentre un login/mot de passe, la fonction reçoit le tout, elle verifie d'apres la base de donnée que le couple login/passe fonctione et ensuite elle créée $_SESSION['login'] et pareil pour le pass.
Il faut savoir que jusque la tout va bien car j'ai fait plusieur test, les 2 variable $_SESSION son initialisées correctement, la fonction retourne vrai bref nikel.
Cependant pour verifié si la personne est loggué sur l'index, la fonction d'authentification est appelée et si les 2 variables $_SESSION existent alors la personne est loggué. Seulement cette fonction n'arrive jamais a voir ces 2 variables... Ils me semblent pourtant que c'est des vairable globales donc visiblent en tout point du site mais la non...
Si qqun sait comment récupéré ces foutus variables pour que la session fonctionne, merci de m'indiquer ça
Code :
- function auth()
- {
- //var_dump(isset($_SESSION['login']));
- //var_dump(isset($_SESSION['pwd']));
- $tempo = false;
- if (isset($_SESSION['login']) AND isset($_SESSION['pwd']))
- {
- //echo "if 1 ok";
- $tempo = true;
- }
- else
- {
- if (isset($_COOKIE['lr_login']) AND isset($_COOKIE['lr_pwd']))
- {
- $login = $_COOKIE['lr_login'];
- $pwd = $_COOKIE['lr_pwd'];
- //echo "if 2 ok";
- include("../cfg_nfo/config_infos.php" );
- $req = "SELECT * FROM membres WHERE login='$login' AND pwd='$pwd'";
- $result = mysql_fetch_array(mysql_query($req));
- if ($result)
- {
- $_SESSION['login'] = $login;
- $_SESSION['pwd'] = $pwd;
- $tempo = true;
- //echo "if 3 ok";
- }
- mysql_close();
- }
- else
- {
- if (isset($_POST['login']) AND isset($_POST['pwd']))
- {
- $login = $_POST['login'];
- $pwd = $_POST['pwd'];
- //echo $login;
- //echo $pwd;
- //echo "if 4 ok";
- include("../cfg_nfo/config_infos.php" );
- $req = "SELECT * FROM membres WHERE login='$login' AND pwd='$pwd'";
- $result = mysql_fetch_array(mysql_query($req));
- //echo $result;
- if ($result)
- {
- $_SESSION['login'] = $login;
- $_SESSION['pwd'] = $pwd;
- $tempo = true;
- //echo "if 5 ok";
- //var_dump(isset($_SESSION['login']));
- //var_dump(isset($_SESSION['pwd']));
- }
- mysql_close();
- }
- }
- }
- //echo 'tempo:'.$tempo.'<b>';
- return $tempo;
- }
|
heu tous les commentaires a l'interieur c'etait des tests pour voir ou ça déconnait.
Message édité par Kyfun le 17-02-2005 à 15:33:11