Probleme de session

Probleme de session - PHP - Programmation

Marsh Posté le 23-03-2005 à 14:14:01    

Bonjour,
 
je suis en train de faire un site qui marche parfaitement sous Windows en local par contre je le test actuellement sous Linux et la plus rien ne va.
J'ai donc un probleme au niveau de mes sessions. Quand je me loggue tout va bien on me reconnait. Et j'ai un menu à droite qui dit "Bonjour pseudo" (pseudo étant stocké dans $_SESSION['login']) mais quand je commence a naviguer mes parametres de sessions se perdent et le bonjour pseudo se transforme en "Bonjour benoit" !  
Ce "benoit" est le $login qui se trouve dans mon script connexion à ma bd :
 

Code :
  1. <?
  2. //Initialisation var connexion
  3. $login='benoit';
  4. $db_name='xxxxx';
  5. $pwd='xxxxxx';
  6. //Connexion au serveur
  7. $link=mysql_connect('localhost',$login, $pwd) or die ("erreur de connexion link" );
  8. mysql_select_db($db_name,$link) or die ("erreur de connexion base" );
  9. ?>


 
De meme j'enregistre dans ma variable de SESSION un type qui peut etre membre, admin... Et lorsque j'affiche ce $_SESSION['type'] dans une de mes pages au lieu de me dire Admin par exemple il me dit Appart, Villa... (site d'une agence immo) or un peu avant il existe une variable $type qui dit si c'est un Appart, une villa...
 
Donc j'ai l'impression que mon php.ini est mal configuré, surement une histoire de global mais je n'y connais rien. A priori il y a confusion entre $session['var'] et $var... Comment resoudre ceci ?
Et surtout, comme c'est un projet de fac et que j'ai le meme probleme la bas, puis je changer cette option avec ini_set ?
 
Pour le moment j'ai viré ces $var en changeant leur nom mais j'aimerai bien pouvoir faire ca autrement, a moins que l'on ne puisse pas mais comme sous mon windows avec easyphp ca passe...
 
Merci :jap:


Message édité par Loizo le 23-03-2005 à 14:14:59
Reply

Marsh Posté le 23-03-2005 à 14:14:01   

Reply

Marsh Posté le 23-03-2005 à 14:22:42    

bah essai de comparer le .ini de easyphp avec celui sous linux non?

Reply

Marsh Posté le 23-03-2005 à 14:23:00    

desactive register_globals

Reply

Marsh Posté le 23-03-2005 à 14:23:58    

http://fr.php.net/session

Citation :

Si register_globals  est activé, alors les variables globales et les entrées dans le tableau $_SESSION seront des références sur la même valeur pour les valeurs qui auront été enregistrées avant le démarrage de la session (donc, dans les page précédentes).


Reply

Marsh Posté le 23-03-2005 à 14:25:12    

bah voila, merci car je ne le savais pas :D

Reply

Marsh Posté le 23-03-2005 à 14:26:31    

Bah sous mon linux register_global etait à OFF mais je l'ai passé à ON vu que j'utilise tjs $_POST, $_SESSION, on nous as appris comme ca et je pensais que ct le standars maintenant.
Bon si a priori il n'y a pas le choix, je vais juste changer les noms de variables qui pose probleme et voila.
 
Merci :jap:

Reply

Marsh Posté le 23-03-2005 à 14:40:57    

Citation :

Bah sous mon linux register_global etait à OFF mais je l'ai passé à ON vu que j'utilise tjs $_POST, $_SESSION, on nous as appris comme ca et je pensais que ct le standars maintenant.


 
ben c'est le contraire, si tu utilise les tableaux de supreglobales que sont $_POST $_SESSION et $_GET, tu n'a pas besoin de l'avoirà ON. Faut le mettre/laisser à OFF


Message édité par Xav_ le 23-03-2005 à 14:41:28

---------------
- Xav - ...There are no crimes when there are no laws... -- Xav's World
Reply

Marsh Posté le 23-03-2005 à 18:16:06    

Xav_ a écrit :

Citation :

Bah sous mon linux register_global etait à OFF mais je l'ai passé à ON vu que j'utilise tjs $_POST, $_SESSION, on nous as appris comme ca et je pensais que ct le standars maintenant.


 
ben c'est le contraire, si tu utilise les tableaux de supreglobales que sont $_POST $_SESSION et $_GET, tu n'a pas besoin de l'avoirà ON. Faut le mettre/laisser à OFF


 
Je dois avoir merdé quelque part alors parce que en Off ca marchait pas et en On mon $_SESSION etait reconnu :pt1cable:

Reply

Sujets relatifs:

Leave a Replay

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