IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

Une variable de session qui change


Sujet :

Langage PHP

  1. #1
    En attente de confirmation mail

    Homme Profil pro
    Inscrit en
    Décembre 2003
    Messages
    219
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations forums :
    Inscription : Décembre 2003
    Messages : 219
    Points : 108
    Points
    108
    Par défaut Une variable de session qui change
    Bonjour,
    Dans mon site, je me logue en tant que administrateur pour gérer les différents utilisateurs inscrits.
    A chaque connexion d'un utilisateur, on enregistre une variable de session.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $_SESSION['nom'] = $maVar;
    En tant que administrateur, dans mon espace, quand je fais un :
    Cela change chaque fois quand je clique et prend la valeur de 'nom' pour un autre utilisateur.
    Ce qui est surprenant, ça ne se passe pas comme ça pour tous les liens et selon le lien la valeur change, mais prend toujours la valeur de cette variable pour les autres utilisateurs.

    Merci

  2. #2
    Membre éprouvé Avatar de sharrascript
    Homme Profil pro
    Développeur Web indépendant
    Inscrit en
    Avril 2007
    Messages
    678
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Web indépendant

    Informations forums :
    Inscription : Avril 2007
    Messages : 678
    Points : 1 042
    Points
    1 042
    Par défaut
    bonjour,

    En effet, il peut arriver, selon la configuration de php, que la variable $_SESSION['var'] prenne la valeur de la variable $var.

    C'est pour cette raison que je te conseil d'utiliser des variables plus explicite pour tes sessions, exemple:


    ++

  3. #3
    En attente de confirmation mail

    Homme Profil pro
    Inscrit en
    Décembre 2003
    Messages
    219
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations forums :
    Inscription : Décembre 2003
    Messages : 219
    Points : 108
    Points
    108
    Par défaut
    Bonjour,
    Le nom 'maVar' est à titre indicatif.
    J'enregistre une valeur d'un champ de la table 'user' de ma BD.
    Quand l'user renseigne le formulaire, je recupère la valeur :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $maVar = $REQUEST['nom_champ_formulaire'];
    puis je vérifie si c'est identique à celle de la BD. Ensuite j'enregistre avec :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $_SESSION['nom'] = $maVar;
    Je ne sais pas si je suis clair.

  4. #4
    Membre éprouvé Avatar de sharrascript
    Homme Profil pro
    Développeur Web indépendant
    Inscrit en
    Avril 2007
    Messages
    678
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Web indépendant

    Informations forums :
    Inscription : Avril 2007
    Messages : 678
    Points : 1 042
    Points
    1 042
    Par défaut
    hehe,

    oui j'avais bien compris d'ailleurs dans mon exemple aussi^^

    ce que j'expliquai, c'est que si tu as un session que tu appel $_SESSION['nom'] et que à un moment dans ton script tu as une variable qui s'appelle $nom et bien
    $_SESSION['nom'] peu prendre la valeur $nom.

    un exemple pas très évident:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    $rqt = "SELECT nom FROM table";
    $res = mysql_query($rqt);
    WHILE($sortie = mysql_fetch_array($res)){
    extract $sortie;
    }
    Ce code peu faire changer une session appelée $_SESSION['nom'], car il y a une sortie $nom, même indirectement...

    Moi aussi je sais pas si j'ai été clair^^

  5. #5
    Expert éminent sénior

    Profil pro
    Inscrit en
    Juin 2002
    Messages
    6 152
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2002
    Messages : 6 152
    Points : 17 777
    Points
    17 777
    Par défaut
    C'est effectivement possible mais uniquement si register_globals est à On (à vérifier auprès de phpinfo) - vivement qu'elle disparaisse celle-là

  6. #6
    Membre à l'essai
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    17
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 17
    Points : 18
    Points
    18
    Par défaut
    Merci beaucoup pour cette réponse j'avais un probleme similaire j'aurai jamais deviné que ca venait de la sans cette réponse^^ merci A+

Discussions similaires

  1. une variable de session qui disparaît
    Par zulad dans le forum Langage
    Réponses: 14
    Dernier message: 20/09/2013, 20h08
  2. [PHP 5.2] Variable de session qui change aléatoirement
    Par N1bus dans le forum Langage
    Réponses: 9
    Dernier message: 15/09/2011, 19h50
  3. Une variable de session qui marche sous php4 mais pas php5
    Par Alexandrebox dans le forum Langage
    Réponses: 4
    Dernier message: 27/10/2007, 18h24
  4. Réponses: 3
    Dernier message: 10/08/2007, 14h42
  5. Variable de session qui change toute seule
    Par mijean dans le forum Langage
    Réponses: 5
    Dernier message: 21/05/2007, 15h42

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo