Variables sessions...

ViPHP
ViPHP | 3607 Messages

04 févr. 2006, 17:17

Bonjour à tous, j'ai lu içi que les variables sessions pouvait être supprimer de deux façons:
<?php
session_start();

//l'option register_globals est inactive
if(isset($_SESSION['variable']))
    unset($_SESSION['variable']);

//l'option register_globals est active
if(session_is_registered('variable'))
    session_unregister('variable');
?>
seulement, je ne sais pas comment savoir si l'option register_globals est active ou inactive...

Modérateur PHPfrance
Modérateur PHPfrance | 7636 Messages

04 févr. 2006, 17:56

seulement, je ne sais pas comment savoir si l'option register_globals est active ou inactive...
tout simplement en regardant le fichier de configuration php.ini ou en affichant dans une page:
echo ini_get('register_globals');
0 = Off
1 = On

/!\ Avant de poster se documenter et rechercher.
Qui ne sait pas rendre un service n'a pas le droit d'en demander.
MaBrute

ViPHP
ViPHP | 3607 Messages

04 févr. 2006, 18:00

et quelle est l'avantage de l'une où l'autre méthode?

Modérateur PHPfrance
Modérateur PHPfrance | 7636 Messages

04 févr. 2006, 18:07

étant donné que par défaut "register_globals" est à Off je te laisse deviner quelle version est un peu obsolètte et donc moins bien :wink:

/!\ Avant de poster se documenter et rechercher.
Qui ne sait pas rendre un service n'a pas le droit d'en demander.
MaBrute

ViPHP
ViPHP | 3607 Messages

04 févr. 2006, 18:11

je croit que j'ai deviné :shock: ... à moins que :( oh non je suis pas sur :cry: , aller je me lance, se serait pas celle-là?
if(isset($_SESSION['variable']))
    unset($_SESSION['variable']);
:oops:
bon j'ai noté en tout cas :D

Modérateur PHPfrance
Modérateur PHPfrance | 7636 Messages

04 févr. 2006, 18:14

ok,ça c'est la version un peu plus adaptée, la plus à jour en tout cas.

Mais unset ne va pas détruire toute la session, mais seulement la variable associée. tu peux aussi regarder session_destroy()

/!\ Avant de poster se documenter et rechercher.
Qui ne sait pas rendre un service n'a pas le droit d'en demander.
MaBrute

ViPHP
ViPHP | 3607 Messages

04 févr. 2006, 18:16

ah non non ça va très bien, je veux pas détruire toute la variable session, c'est juste pour qu'un utilisateur se déconnecte...
merci encore pour les réponses

Modérateur PHPfrance
Modérateur PHPfrance | 7636 Messages

04 févr. 2006, 18:19

De rien :wink:

Pour info:
une autre méthode consisterait à affecter une valeur "true" à une var. de session si le membre est identifié et lors de la déconnexion passer la variable de session à "false"

/!\ Avant de poster se documenter et rechercher.
Qui ne sait pas rendre un service n'a pas le droit d'en demander.
MaBrute

ViPHP
ViPHP | 3607 Messages

04 févr. 2006, 18:21

Ta méthode a du bon, mais il faut tout de même garder une var session pour l'utilisateur (en tout cas dans mon cas -dsl pour la redondance-), car suivant l'utilisateur, l'affichage diffère, donc en sachant simplement qu'un utilisateur est connecté, je vais pas savoir quoi lui afficher...
ou alors j'oubli qqch?

Modérateur PHPfrance
Modérateur PHPfrance | 7636 Messages

04 févr. 2006, 18:26

la méthode est d'ouvrir une session des que l'utilisateur se pointe sur le site et d'affecter à une varaible de session 'Identification' à False (par défaut) si cette personne s'identifie correctement cette meme variable passe à "true".

Suffit apres de tester la valeur de cette avriable pour afficher les partie autorisées pour les membres uniquement.
if($_SESSION['autorise'] == true)
  // ici affichage si le membre est identifié
else
  // affichage de monsieur tout le monde

/!\ Avant de poster se documenter et rechercher.
Qui ne sait pas rendre un service n'a pas le droit d'en demander.
MaBrute

ViPHP
ViPHP | 3607 Messages

04 févr. 2006, 18:51

oui mais suivant les membres, il y a des différences :D
donc ça ne peu pas marcher... mais merci quand-même...

Modérateur PHPfrance
Modérateur PHPfrance | 7636 Messages

04 févr. 2006, 19:50

oui mais suivant les membres, il y a des différences :D
bien sur ces différences sont en principe stockées dans la BD sous forme de droits.
il faut également tester le niveau de droits pour afficher en fonction.

Mais tu peux tout aussi bien garder le systeme que tu met en place si tu le maitrise mieux :wink:

/!\ Avant de poster se documenter et rechercher.
Qui ne sait pas rendre un service n'a pas le droit d'en demander.
MaBrute