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 :

[Cookies] Variables session par intermitence


Sujet :

Langage PHP

  1. #1
    Membre à l'essai
    Inscrit en
    Novembre 2005
    Messages
    27
    Détails du profil
    Informations forums :
    Inscription : Novembre 2005
    Messages : 27
    Points : 19
    Points
    19
    Par défaut [Cookies] Variables session par intermitence
    Bonjour.

    Lorsque l'un de mes utilisateurs s'identifie, j'exécute le code suivant :

    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
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    <?php
    session_start();
     
    if (isset($_POST['login'])){
    	if (isset($_POST['password'])){
     
    		$userlogin = strtolower($_POST['login']);
    		$userpass = $_POST['password'];
     
    		include 'functions/connect.php';
     
    		$sql = "SELECT * FROM user WHERE user_login = '$userlogin' AND user_password = '$userpass'";
     
    		$req = mysql_query($sql) or die('Erreur SQL !');
     
    		while($data = mysql_fetch_assoc($req)){
     
    				//On met les variables en session
     
    				$_SESSION['id'] = $_data['user_id'];
    				$_SESSION['type'] = $_data['user_type'];
    				$_SESSION['login'] = $_data['user_login'];
    				$_SESSION['prenom'] = $_data['user_prenom'];
    				$_SESSION['nom'] = $_data['user_nom'];
    				$_SESSION['email'] = $_data['user_email'];
    				$_SESSION['tel'] = $_data['user_tel'];
    				$_SESSION['entreprise'] = $_data['user_entreprise'];
    				$_SESSION['adresse'] = $_data['user_adresse'];
    				$_SESSION['cp'] = $_data['user_cp'];
    				$_SESSION['ville'] = $_data['user_ville'];
     
    				$_SESSION['connecte']="1";				//On met la variable globale de connection à 1
     
    				mysql_close($db);
     
    				header("Location: index.php");		 	// On redirige vers la page d'accueil			
    				exit();
    		}		
     
    				$_SESSION['erreurlogin'] = "Identifiants incorrects";	//Erreur de connection 1 (identifiants incorrects)
     
    				mysql_close($db);
     
    				header("Location: index.php");		 		  			// On redirige vers la page d'accueil	
     
    				exit();
    	}
    }
     
    $_SESSION['erreurlogin'] = "Il manque des informations";	//Erreur de connection 2 (informations manquantes)		
     
    header("Location: index.php");		 		 				// On redirige vers la page d'accueil
    ?>
    Jusque là tout va bien (outre des soucis de sécurité que j'examinerais plus tard).

    Sur une autre page, je souhaite récupérer mes variables de session. Et c'est là que ça s'embrouille.

    La variable $_SESSION['connecte'] est bien à 1 partout.

    En revanche, les autres variables passées en session refusent de coopérer. Il n'y a que $_SESSION['login'] qui n'est pas vide.

    Je vous remercie de votre aide.

  2. #2
    Membre habitué Avatar de Pahcixam
    Profil pro
    Développeur Web
    Inscrit en
    Avril 2006
    Messages
    289
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Avril 2006
    Messages : 289
    Points : 191
    Points
    191
    Par défaut
    Salut,

    d'après ton code, la seule chose qui peut faire que tes variables de sessions soient vide, c'est que ta BDD est vide ^^.

    Ou alors les noms des champs sont differents de ce que tu utilises.

  3. #3
    Membre à l'essai
    Inscrit en
    Novembre 2005
    Messages
    27
    Détails du profil
    Informations forums :
    Inscription : Novembre 2005
    Messages : 27
    Points : 19
    Points
    19
    Par défaut
    Ben non c'est ça le pire

    Et les champs correspondent.

    Je ne comprends vraiment pas.

  4. #4
    Membre à l'essai
    Inscrit en
    Novembre 2005
    Messages
    27
    Détails du profil
    Informations forums :
    Inscription : Novembre 2005
    Messages : 27
    Points : 19
    Points
    19
    Par défaut
    Personne n'a d'idée ?

    J'ai beau essayer, même avec des cookies ça marche pas. Les variables sont désespérément vide.

    Snif :'(

  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
    Il y a une coquille sur $_data à remplacer par $data.


    Julp.

  6. #6
    Membre à l'essai
    Inscrit en
    Novembre 2005
    Messages
    27
    Détails du profil
    Informations forums :
    Inscription : Novembre 2005
    Messages : 27
    Points : 19
    Points
    19
    Par défaut
    AAAAAAAAAAAAAAAAAAAH !

    Julp !

    Tu déchires !

    Merci


    Juste une question... comment se fait-il que le login s'affichait ?

    En tous cas merci beaucoup, je ne sais pas pourquoi j'ai tout mélangé dans ma tête.

    Bisous !

  7. #7
    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
    Citation Envoyé par wahou85
    Juste une question... comment se fait-il que le login s'affichait ?
    Nous n'avons pas la ligne en question pour vous répondre (ou alors je ne sais pas lire) mais vous utilisiez probablement $userlogin ou $_POST['login'] à cet endroit.


    Julp.

  8. #8
    Membre à l'essai
    Inscrit en
    Novembre 2005
    Messages
    27
    Détails du profil
    Informations forums :
    Inscription : Novembre 2005
    Messages : 27
    Points : 19
    Points
    19
    Par défaut
    J'ai créé un fichier test.php qui contient :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    <?php session_start();
     
    $id = $_SESSION['id'];
    $type = $_SESSION['type'];
    $login = $_SESSION['login'];
    $prenom = $_SESSION['prenom'];
    $nom = $_SESSION['nom'];
    $email = $_SESSION['email'];
     
    echo $id.$type.$login.$prenom.$nom.$email;
     
    ?>
    Seul le login s'affichait.

    C'est à cause de quoi ? register_globals ?

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

Discussions similaires

  1. [Cookies] Variables sessions protection par mot de passe
    Par luciedoudou dans le forum Langage
    Réponses: 17
    Dernier message: 24/01/2007, 11h20
  2. [Cookies] Variable session et nom de domaine
    Par ronando dans le forum Langage
    Réponses: 6
    Dernier message: 27/09/2006, 14h19
  3. [Cookies] Variable de session + IE
    Par Phenomenium dans le forum Langage
    Réponses: 4
    Dernier message: 24/03/2006, 11h28
  4. [Cookies] Variable envoyée par un formulaire
    Par mmz dans le forum Langage
    Réponses: 10
    Dernier message: 17/03/2006, 11h50
  5. Réponses: 10
    Dernier message: 28/02/2006, 21h21

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