Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
2529 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  [PHP] [RESOLU] Session et variables qui n'en fait qu'a ça tete.

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[PHP] [RESOLU] Session et variables qui n'en fait qu'a ça tete.

n°983678
Kyfun
Les choses se passent !
Posté le 16-02-2005 à 16:14:59  profilanswer
 

Alors voila j'aurai besoin de votre aide pour résoudre un problème qui commence a me saouler legerement :D.
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 :
  1. function auth()
  2. {
  3. //var_dump(isset($_SESSION['login']));
  4. //var_dump(isset($_SESSION['pwd']));
  5. $tempo = false;
  6. if (isset($_SESSION['login']) AND isset($_SESSION['pwd']))
  7. {
  8.  //echo "if 1 ok";
  9.  $tempo = true;
  10. }
  11. else
  12. {
  13.  if (isset($_COOKIE['lr_login']) AND isset($_COOKIE['lr_pwd']))
  14.  {
  15.   $login = $_COOKIE['lr_login'];
  16.   $pwd   = $_COOKIE['lr_pwd'];
  17.   //echo "if 2 ok";
  18.   include("../cfg_nfo/config_infos.php" );
  19.   $req    = "SELECT * FROM membres WHERE login='$login' AND pwd='$pwd'";
  20.   $result = mysql_fetch_array(mysql_query($req));
  21.   if ($result)
  22.   {
  23.     $_SESSION['login'] = $login;
  24.    $_SESSION['pwd']   = $pwd;
  25.    $tempo             = true;
  26.    //echo "if 3 ok";
  27.   }
  28.   mysql_close();    
  29.  }
  30.  else
  31.  {
  32.   if (isset($_POST['login']) AND isset($_POST['pwd']))
  33.   {
  34.    $login = $_POST['login'];
  35.    $pwd   = $_POST['pwd'];
  36.    //echo $login;
  37.    //echo $pwd;
  38.    //echo "if 4 ok";
  39.    include("../cfg_nfo/config_infos.php" );
  40.    $req    = "SELECT * FROM membres WHERE login='$login' AND pwd='$pwd'";
  41.    $result = mysql_fetch_array(mysql_query($req));
  42.    //echo $result;
  43.    if ($result)
  44.    {
  45.     $_SESSION['login'] = $login;
  46.    $_SESSION['pwd']   = $pwd;
  47.    $tempo             = true;
  48.    //echo "if 5 ok";
  49.    //var_dump(isset($_SESSION['login']));
  50.    //var_dump(isset($_SESSION['pwd']));
  51.    }
  52.    mysql_close();       
  53.   }
  54.  }
  55. }
  56. //echo 'tempo:'.$tempo.'<b>';
  57. return $tempo;
  58. }


 
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
mood
Publicité
Posté le 16-02-2005 à 16:14:59  profilanswer
 

n°983680
KangOl
Profil : pointeur
Posté le 16-02-2005 à 16:18:17  profilanswer
 

bha si tu donnes pas le code incriminé, nous on peut pas deviner tes erreurs :o


---------------
Nos estans firs di nosse pitite patreye...
n°983689
Kyfun
Les choses se passent !
Posté le 16-02-2005 à 16:24:03  profilanswer
 

ous pardon, je met ça desuite :)

n°983698
Kyfun
Les choses se passent !
Posté le 16-02-2005 à 16:33:19  profilanswer
 

la tabulation marche pas super :(
 
edit: C'est un probleme de domaine de visibilité des 2 variables sessions apparement car apres les avoir initialisées elles ne sont visibles nulle part :(


Message édité par Kyfun le 16-02-2005 à 16:43:35
n°983778
sky_strike​r
Posté le 16-02-2005 à 17:18:30  profilanswer
 

InTh3WinDDD a écrit :

la tabulation marche pas super :(
 
edit: C'est un probleme de domaine de visibilité des 2 variables sessions apparement car apres les avoir initialisées elles ne sont visibles nulle part :(


 
As tu mit un session_start(); dans la page où tu veux voir les variables de session ?
 

n°983795
Kyfun
Les choses se passent !
Posté le 16-02-2005 à 17:33:26  profilanswer
 

bah j'en ai un dans l'index, donc sachant que toutes les autres pages sont incluses dedans ça devrait etre bon ? Quand j'en met ailleurs ça me met qu'une session est deja ouverte et que donc ça ignore le deuxieme session start.

n°983961
Kyfun
Les choses se passent !
Posté le 16-02-2005 à 20:37:24  profilanswer
 

Personne a d'idée :( ?

n°984742
Kyfun
Les choses se passent !
Posté le 17-02-2005 à 11:58:59  profilanswer
 

up

n°984745
FlorentG
Posté le 17-02-2005 à 12:01:38  profilanswer
 

Y'a une faille de sécurité dans tout ça, non ?

n°984752
Kyfun
Les choses se passent !
Posté le 17-02-2005 à 12:08:17  profilanswer
 

ouaip ouaip j'ai rajouté un addslashes() avant de faire la requete :) bon je l'ai pas mis ici. Mais bon ça ne regle bien evidement rien ;p


Message édité par Kyfun le 17-02-2005 à 12:12:20
mood
Publicité
Posté le 17-02-2005 à 12:08:17  profilanswer
 

n°984887
soju
One shot !
Posté le 17-02-2005 à 14:25:49  profilanswer
 

InTh3WinDDD a écrit :

Personne a d'idée :( ?


- enlève les commentaires dans ton code et dis nous ce que tu as stp
- verifie ta version de php, car ce n'est que depuis PHP 4.1.0 que $_SESSION est disponible comme variable globale

n°985005
Kyfun
Les choses se passent !
Posté le 17-02-2005 à 15:32:36  profilanswer
 

c'est bon le probleme est resolu, il fallait ouvrir une session dans un fichier qui lui n'etait pas inclus dans l'index :)


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  [PHP] [RESOLU] Session et variables qui n'en fait qu'a ça tete.

 

Sujets relatifs
Problème d'overflow d'un cadre sur IE : ça foire en largeur [Résolu]Cron PHP et serveur mutualisé
[Résolu] BrookGPU : pb : Rebuilding dependencies for accumulatedécrementation de variables statique à la destruction
[PHP/SQL] Avis pour remplir un calendrierPage d'erreur Websphere Application Server [résolu]
[RESOLU] changement de valeur pour un fichier csv[résolu] table vide
[résolu] [JS] renseignement de parametres[FLASH] Variables le truc le plus simple !
Plus de sujets relatifs à : [PHP] [RESOLU] Session et variables qui n'en fait qu'a ça tete.


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR