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 :

Attribution de variable de session limitée ?


Sujet :

Langage PHP

  1. #1
    Candidat au Club
    Inscrit en
    Octobre 2008
    Messages
    3
    Détails du profil
    Informations forums :
    Inscription : Octobre 2008
    Messages : 3
    Points : 2
    Points
    2
    Par défaut Attribution de variable de session limitée ?
    Bonjour,

    Je vous expose mon problème :
    Je souhaite passer dans une session plusieurs paramètres venant d'une base SQL : nom d'utilisateur, mot de passe et rôle de l'utilisateur.

    Mon script attribue sans problème les nom d'utilisateurs et mdp issus du tableau de résultat de la requête dans mon tableau $_SESSION, mais ne veut pas attribuer le rôle par la même méthode...

    Je vous met mon code source :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
     
    		$sql='SELECT * FROM user 
    				WHERE (user_id=\''.$username.'\' AND pass=\''.$password.'\');';		
     
    		connect_DB();
     
    	//lancement de la requete
    	$req = mysql_query($sql) or die('Erreur SQL !<br />'.$sql.'<br />'.mysql_error());
    	$cnt=0;
    	global $data;
    	while($data = mysql_fetch_array($req)){
    		$cnt++;
    	}
    	close_db($req);
    	if($cnt==1){
    			$_SESSION['username'] = $data['user_id'];
    			$_SESSION['password'] = $data['pass'];
    			$_SESSION['role'] 		= $data['role'];
    	}
    Quelqu'un à une idée ?...

  2. #2
    Membre actif Avatar de leodi
    Homme Profil pro
    Directeur technique
    Inscrit en
    Février 2004
    Messages
    172
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Février 2004
    Messages : 172
    Points : 224
    Points
    224
    Par défaut
    Bonjour, et bienvenue sur le forum !

    Si tu fais un
    qu'est ce que ca donne ?

    Sinon tu peux éviter

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    	while($data = mysql_fetch_array($req)){
    		$cnt++;
    	}
    grâce à la fonction http://fr.php.net/manual/fr/function.mysql-num-rows.php

  3. #3
    Candidat au Club
    Inscrit en
    Octobre 2008
    Messages
    3
    Détails du profil
    Informations forums :
    Inscription : Octobre 2008
    Messages : 3
    Points : 2
    Points
    2
    Par défaut
    si je fais un var_dump($data)

    Voilà ce que j'ai :
    bool(false)
    Autre détail que j'ai oublié, j'ai un retour de ce type :

    Warning: Unknown: Your script possibly relies on a session side-effect which existed until PHP 4.2.3. Please be advised that the session extension does not consider global variables as a source of data, unless register_globals is enabled. You can disable this functionality and this warning by setting session.bug_compat_42 or session.bug_compat_warn to off, respectively. in Unknown on line 0
    Concernant le mysql_num_rows, je viens de trouver cette fonction

  4. #4
    Candidat au Club
    Inscrit en
    Octobre 2008
    Messages
    3
    Détails du profil
    Informations forums :
    Inscription : Octobre 2008
    Messages : 3
    Points : 2
    Points
    2
    Par défaut
    Unbelievable !!

    Après modif de mon code en ajoutant juste le mysql_num_rows, il veut bien me passer le role en session...

    Voilà le code modifié :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    	$req = mysql_query($sql) or die('Erreur SQL !<br />'.$sql.'<br />'.mysql_error());
    	$data = mysql_fetch_array($req);
    	$cnt =  mysql_num_rows($req);
    		var_dump($data);
    		echo "$cnt Rows\n";
    	close_db($req);
     
    	if($cnt==1){
    			$_SESSION['username'] = $data['user_id'];
    			$_SESSION['password'] = $data['pass'];
    			$_SESSION['role'] 		= $data['role'];
    	}
    Des fois je comprends pas tout quand même...

    En tout cas 1000 mercis leodi !

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [C#] Tester existence d'une variable de session
    Par IDNoires dans le forum ASP.NET
    Réponses: 2
    Dernier message: 31/12/2004, 12h30
  2. Création d'une variable de session avec un ID
    Par PrinceMaster77 dans le forum ASP
    Réponses: 4
    Dernier message: 18/10/2004, 10h28
  3. Effacer les variables de session
    Par glsn dans le forum ASP
    Réponses: 2
    Dernier message: 12/12/2003, 13h42
  4. Variable de session
    Par Sadneth dans le forum ASP
    Réponses: 6
    Dernier message: 14/11/2003, 11h12
  5. variable de session
    Par divableue dans le forum ASP
    Réponses: 2
    Dernier message: 23/10/2003, 16h04

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