OVH Cloud OVH Cloud

variable session

2 réponses
Avatar
Saad Saad
Boujour,

Voici un truc bizarre qui ce passe avec une variable session et dont je
ne trouve pas la solution.

Sur mon site, j'ai une variable session qui s'appelle $_SESSION['admin']
chaque page comprend un include d'un fichier de protection qui fait ceci
$Gadmin=$_SESSION['admin'];

Ainsi, j'ai accès à cette variable " $Gadmin " de partout.
Elle est = à 1 si on est un admin ou 0 si on est un utilisateur normal.

J'ai accès à cette variable n'importe ou sur mon site qui comprend près
de 100 pages sans problèmes ainsi qu'au autres variables de session.

Mais losque je vais sur ma page users_liste.php ou seul celui dont
$Gadmin==1 à accès puis que je fais modifier un utilisateur.

Donc, j'affiche simplement la fiche d'un utilisateur et qu'ensuite
j'appuie sur le bouton annuler qui exécute
onclick="document.location.href='users_liste.php';".
Lorque je reviens sur users_liste.php, ma variable $Gadmin est égal 0 et
donc je ne suis plus Admin.

Les 2 pages commes toutes les autres commence bien par session_start();

Cela ce passe uniquement dans cette page et uniquement sur Internet pas
en local.

J'ai fais une recherche sur mon site et partout il est écrit
if ($Gadmin==1) et donc, cette variable n'est jamais modifier.


Quid ????



--
Saad Saad

2 réponses

Avatar
Thierry SCHMIT
bonjour

onclick="document.location.href='users_liste.php';".


essaie
onclick="document.location.href='users_liste.php?".SID."';".

juste pour voir

Avatar
bruno modulix
Saad Saad wrote:

Je n'ai pas de réponse directe à ton problème, mais une ou deux
questions/réflexions....

Sur mon site, j'ai une variable session qui s'appelle $_SESSION['admin']
chaque page comprend un include d'un fichier de protection qui fait ceci
$Gadmin=$_SESSION['admin'];

Ainsi, j'ai accès à cette variable " $Gadmin " de partout.


PAQJS, $_SESSION['admin'] est également accessible de partout...
Pourquoi passer par une variable intermédiaire ?

Elle est = à 1 si on est un admin ou 0 si on est un utilisateur normal.


Juste pour info, true et false sont aussi des valeurs utilisables !-)

(snip)

j'appuie sur le bouton annuler qui exécute
onclick="document.location.href='users_liste.php';".


Ce qui ne marche pas si javascript est désactivé... Il y a moyen
d'obtenir le même résultat sans Javascript.

J'ai fais une recherche sur mon site et partout il est écrit
if ($Gadmin==1) et donc, cette variable n'est jamais modifier.


le test
if ($Gadmin) { ... }
a le même résultat, et là tu es *sûr* de ne pas modifier la valeur de la
variable.

Quid ????


Je donne ma langue au chat !-)

--
bruno desthuilliers
ruby -e "print ''.split('@').collect{|p|
p.split('.').collect{|w| w.reverse}.join('.')}.join('@')"
--