pb de session

pb de session - PHP - Programmation

Marsh Posté le 04-10-2004 à 14:59:22    

salut,
voila j'ai une page qui "fabrique" des liens et demarre des sessions si dans ma table le champs contient un "O".
jusque la pas de pb. seulement quand je clique sur le lien je en peux accéder a ma page comme si les sessions avaient pas été enregistré. si je fait un F5 sur la page par contre et que je clique sur un lien ensuite ca passe. Ma question, pourquoi je dois faire F5 pour que les sessions démarrent ? Quelques choses ne va pas dans le code ?
merci  

Code :
  1. $req=mysql_query("SELECT t1,t2,t3,t4,t5,t6 FROM table" );
  2. while ($data = mysql_fetch_array($req1))
  3. {
  4.   if ($data['t1']=='O')
  5. {
  6. session_register('t1');
  7. }
  8. else if ($data['t1']=='X'){echo "nada";}
  9.   if ($data['t2']=='O')
  10. {
  11. session_register('t2');
  12. }
  13. else if ($data['t2']=='X'){echo "nada";}
  14. if ($data['t3']=='O')
  15. {
  16. session_register('t3');
  17. }
  18. else if ($data['t3']=='X'){echo "nada";}
  19. if ($data['t4']=='O')
  20. {
  21. session_register('t4');
  22. }
  23. else if ($data['t4']=='X'){echo "nada";}
  24. if ($data['t5']=='O')
  25. {
  26. session_register('t5');
  27. }
  28. else if ($data['t5']=='X'){echo "nada";}
  29. if ($data['t6']=='O')
  30. {
  31. session_register('t6');
  32. }
  33. else if ($data['t6']=='X'){echo "nada";}
  34. }


 
le code qui controle une page :

Code :
  1. session_start();
  2. if(!session_is_registered('t1'))
  3.     {
  4.     echo 'Vous n\'êtes pas autoriser à accéder à cette zone';
  5.     exit;
  6.     }


Message édité par $man le 04-10-2004 à 15:00:23
Reply

Marsh Posté le 04-10-2004 à 14:59:22   

Reply

Marsh Posté le 04-10-2004 à 16:13:16    

ton session_start()(, tu l'a bien en début de fichier ? et sur toutes les pages qui utilise tes variables de session ?

Reply

Marsh Posté le 04-10-2004 à 16:41:37    

salut,
oui y'a bien un session_start :)
merci

Reply

Marsh Posté le 05-10-2004 à 10:56:56    

tj ce petit probleme :o

Reply

Marsh Posté le 05-10-2004 à 11:59:24    

Quelle version de PHP utilises-tu ?

Reply

Marsh Posté le 05-10-2004 à 14:08:24    

Ton scripte est bizard ... deja je comprend pas tout a fait le sens de ton while ... Ca veux dire que tu as plusieurs lignes dans ta base de donnée j'imagine, mais donc si tu as plusieurs lignes qui ont t1 = O, alors tu creera plusieurs fois ta session (P.S: je te deconseille d'utiliser la fonction  

Code :
  1. session_register('t1');


qui est deconseillée pour des raison relatives a la secu, actuellement on preferera  

Code :
  1. $_SESSION['t1'] = 'O' ;


)
Du point de vue de l'efficacitée, ne serait s'il pas mieux faire un group by t1,t2,t3,t4,t5,t6 ... De la sorte a n'avoir qu'une seule ligne?
 
Et sur le script de detection :
 
session_start();
if(!isset($_SESSION['t1']))
...
 
Esox

Reply

Sujets relatifs:

Leave a Replay

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