Pb avec des variables globales entre 2 fichiers - PHP - Programmation
Marsh Posté le 19-08-2003 à 19:42:11
Pour le premier problème: session_start obligatoire à chaque début de page qui utlise des sessions.
Pour le & qui plante avec le w3c, il faut le remplacer par & (cf php.ini de ton serveur pour le cas du PHPSESSID qui se met tous seul)
Marsh Posté le 19-08-2003 à 19:44:35
RiderCrazy a écrit : Pour le premier problème: session_start obligatoire à chaque début de page qui utlise des sessions. |
Merci beaucoup de ces 2 premières infos
Pb pour le & je suis hébergé chez Planet-work donc comment je remédie à ce pb ?
Marsh Posté le 20-08-2003 à 02:00:32
-ET- a écrit : |
C'est bon j'ai trouvé.
Il suffit de placer une ligne...
Code :
|
...avant chaque session_start() dans mes fichiers php puisque je n'ai pas accès à leur php.ini .
Ne reste donc plus que le dernier pb : comment transmettre la valeur de $flag à la fonction sans le passer en paramètre car en réalité cette fonction est une fonction standard phpBB utilisée de nombreuses autre fois par d'autre pages php et je ne veux pas changer aussi tous les appels à cette fct.
Marsh Posté le 19-08-2003 à 19:35:36
Voilà.
J'ai 2 pb de variables globales entre 2 fichiers php d'un forum phpBB.
1er cas, j'ai une valeur X récupérée d'un tableau par $HTTP_POST_VARS['tab_X'] que je dois ensuite stocker pour toute la durée de connexion au forum.
Le passage par la BD est trop lourd, j'ai déjà mis en oeuvre l'utilisation d'un cookie de session mais ils peuvent être désactivés, donc j'ai besoin d'utiliser une autre méthode.
A priori, il ne reste que les variables de session mais c'est là que j'ai un pb. Le renseignement de la variable se passe comme ça...
Pb :
- ensuite j'ai besoin de faire un test sur ces 2 valeurs dans un autres fichier php...
Mais si je ne mets pas "session_start();" avant le test, il est toujours positif comme si "$HTTP_SESSION_VARS['ses_X']" était toujours vide même lorsqu'il ne l'est pas
Question 1 : C'est normal ? Il faut un "session_start();" avant chaque lecture de la variable ?
- par ailleurs quand je test ma page avec le validateur W3C, j'ai des 80 erreurs qui tournent TOUTES autour de ça...
Alors que j'en ai 0 si je ne mets pas de ligne "session_start();" qui fait disparaître "&PHPSESSID=aaad86eae79ec469fa6e7c1672995071" dans l'url.
Question 2 : Donc, il semble que j'en ai besoin pour lire la variable, mais que si je la mette ça ne soit pas conforme
Où est l'erreur ?
2ème pb, j'ai besoin de rendre un flag visible par d'autres fichiers php le temps d'une boucle.
Exemple, un fichier toto.php qui doit exécuter cette boucle faisant appel à une fonction d'un autre fichier...
Et la fct_x() dans cet autre fichier a aussi besoin de connaître la valeur de "$flag".
J'ai donc besoin de lui passer l'info le plus simplement possible SANS EN FAIRE UN PARAMETRE DE LA FONCTION !!! (ça c'est pas possible pour d'autres raisons)
Le recours à la base de donnée est là aussi exclu car c'est beaucoup trop lourd pour une utilisation aussi fugitive de cette variable (sa valeur n'a pas besoin d'être stockée sur le long terme).
Question 3 : Donc ici aussi, est-ce que les variables de sessions sont la bonne méthode car cette variable aura une durée de vie beaucoup plus courte qu'une session, ou est-ce qu'il y en a d'autres ?
Merci d'avance
Message édité par -ET- le 19-08-2003 à 19:43:26