Précédent   Forum des professionnels en informatique > PHP > Langage > Sessions
Sessions Forum d'entraide sur les sessions avec PHP. Avant de poster -> FAQ sessions, Cours sessions et Sources sécurité
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 21/11/2006, 02h51   #1
Invité régulier
 
Inscription : novembre 2005
Messages : 27
Détails du profil
Informations forums :
Inscription : novembre 2005
Messages : 27
Points : 8
Points : 8
Par défaut [Cookies] Variables session par intermitence

Bonjour.

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

Code :
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.
wahou85 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/11/2006, 07h51   #2
Membre habitué
 
Avatar de Pahcixam
 
Étudiant
Inscription : avril 2006
Messages : 266
Détails du profil
Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : avril 2006
Messages : 266
Points : 108
Points : 108
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.
Pahcixam est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/11/2006, 09h34   #3
Invité régulier
 
Inscription : novembre 2005
Messages : 27
Détails du profil
Informations forums :
Inscription : novembre 2005
Messages : 27
Points : 8
Points : 8
Ben non c'est ça le pire

Et les champs correspondent.

Je ne comprends vraiment pas.
wahou85 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/11/2006, 20h07   #4
Invité régulier
 
Inscription : novembre 2005
Messages : 27
Détails du profil
Informations forums :
Inscription : novembre 2005
Messages : 27
Points : 8
Points : 8
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 :'(
wahou85 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/11/2006, 20h53   #5
En attente de confirmation mail
 
Inscription : juin 2002
Messages : 6 164
Détails du profil
Informations forums :
Inscription : juin 2002
Messages : 6 164
Points : 6 404
Points : 6 404
Il y a une coquille sur $_data à remplacer par $data.


Julp.
julp est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/11/2006, 20h56   #6
Invité régulier
 
Inscription : novembre 2005
Messages : 27
Détails du profil
Informations forums :
Inscription : novembre 2005
Messages : 27
Points : 8
Points : 8
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 !
wahou85 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/11/2006, 21h43   #7
En attente de confirmation mail
 
Inscription : juin 2002
Messages : 6 164
Détails du profil
Informations forums :
Inscription : juin 2002
Messages : 6 164
Points : 6 404
Points : 6 404
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.
julp est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/11/2006, 22h00   #8
Invité régulier
 
Inscription : novembre 2005
Messages : 27
Détails du profil
Informations forums :
Inscription : novembre 2005
Messages : 27
Points : 8
Points : 8
J'ai créé un fichier test.php qui contient :
Code :
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 ?
wahou85 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 23h17.


 
 
 
 
Partenaires

Hébergement Web