[RESOLU]Probleme de session dans une fonction

Probleme de session dans une fonction [RESOLU] - PHP - Programmation

Marsh Posté le 09-05-2004 à 16:25:17    

:hello:  
J'ai ce fichier là "index1.php" :

Code :
  1. <?
  2. include ("fonctions.php" );
  3. //variables à configurer:
  4. $nom_de_la_table="user";
  5. $identifiant="root";
  6. $mot_de_passe="";
  7. $nb_ligne_par_page=3;
  8. session_start();//on démarre une session
  9. $tab=array('tableName'=>$nom_de_la_table,'login'=>$identifiant,'password'=>$mot_de_passe,'nb_par_page'=>$nb_ligne_par_page);
  10. session_register("tab" );//on enregistre le tableau de session
  11. buildList();//j'appelle ma fonction pour lui faire afficher une valeur de session
  12. ?>


 
et celui là : "fonctions.php"  :

Code :
  1. <?
  2. function buildList()
  3. {
  4. session_start();// on démarre une session
  5. echo $tab['nb_par_page']; //n'affiche rien !!
  6. }


 
Le probleme c'est que echo $tab['nb_par_page']; s'affiche bien quand on le met dans index1.php mais pas dans fonctions.php comment ça se fait ???
 
Merci pour votre aide.


Message édité par neo9205 le 09-05-2004 à 17:34:47
Reply

Marsh Posté le 09-05-2004 à 16:25:17   

Reply

Marsh Posté le 09-05-2004 à 16:31:40    

c'est un problème de visibilité des variables. passe là en paramètre à ta fonction.
 
de plus, tu as une variable "nb_par_page" et une "nb_ligne_par_page" c'est normal ?

Reply

Marsh Posté le 09-05-2004 à 16:35:01    

JagStang a écrit :

c'est un problème de visibilité des variables. passe là en paramètre à ta fonction.
 
de plus, tu as une variable "nb_par_page" et une "nb_ligne_par_page" c'est normal ?


 
Moi qui pensais résoudre le probleme de visibilité des variables grace aux sessions....
->y a pas moyen de faire connaitre à une fonction une variable de session hors passage de parametre ???
 
Pour ça: variable "nb_par_page" et une "nb_ligne_par_page" ,c'est voulu.

Reply

Marsh Posté le 09-05-2004 à 16:43:02    

oui, en la déclarant global (mais c'est mal, ça va à l'encontre de la réutilisabilité du code)
 
les session de servent pas non plus à ce genre de choses. si toutefois tu veux la passer en global : http://fr.php.net/variables.scope

Reply

Marsh Posté le 09-05-2004 à 16:51:54    

JagStang a écrit :

oui, en la déclarant global (mais c'est mal, ça va à l'encontre de la réutilisabilité du code)
 
les session de servent pas non plus à ce genre de choses. si toutefois tu veux la passer en global : http://fr.php.net/variables.scope


 
Oulà ,oui en effet c'est radical de déclarer une variable de session en global ! tout fonctionne !  
 
Par contre, j'ai meme plus besoin d'ouvrir ma session dans le fichier fonctions.php pour que la variable de session soit dispo ! c'est normal ???

Reply

Marsh Posté le 09-05-2004 à 16:53:53    

neo9205 a écrit :

Oulà ,oui en effet c'est radical de déclarer une variable de session en global ! tout fonctionne !  
 
Par contre, j'ai meme plus besoin d'ouvrir ma session dans le fichier fonctions.php pour que la variable de session soit dispo ! c'est normal ???


selon la config du serveur, oui. Mais laisse quand même cette ligne de code

Reply

Marsh Posté le 09-05-2004 à 16:59:16    

JagStang a écrit :

selon la config du serveur, oui. Mais laisse quand même cette ligne de code


 
Ok merci beaucoup  :sol:

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed