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 29/03/2006, 16h20   #1
Membre à l'essai
 
Inscription : mars 2006
Messages : 66
Détails du profil
Informations forums :
Inscription : mars 2006
Messages : 66
Points : 22
Points : 22
Envoyer un message via MSN à reventlov
Par défaut [Sécurité] session et header location

Bonjour à tous,

Voici une partie de code qui me pose problème :

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
 
$requete=mysql_query("SELECT * FROM client WHERE cl_mail='".$login."' AND cl_passwd='".$mdp."'");
$res=mysql_fetch_array($requete);
mysql_close();
 
if($res){
	session_start();
	session_unset();
	$_SESSION=$res;
	Header ("Location: accueil_espace_client.php");
	exit();
}else{
	Header ("Location: http://www.tt-express.fr/site/login_client.php?message=Votre login et votre mot de passe sont incorrect");
	exit();
}
Ce code permet de verifier simplement une autentification par login et mot de passe.
Quand le passwd et le login sont corrects, j'initialise et j'affecte mon tableau de session $_SESSION et je redirige vers la page accueil_espace_client.php. Le problème c'est que sur cette page mes variables de sessions sont vides... Je voulais savoir si cela ne serait pas du a mon Header ("Location: accueil_espace_client.php"); Je me suis dis que header ne transmettait pas les variables de session. Est-ce la mon problème ou cela vient-il d'ailleur ? J'ai besoin de quelques explications... Ou une autre solution...
reventlov est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/03/2006, 16h22   #2
Membre confirmé
 
Avatar de allyson
 
Inscription : août 2003
Messages : 248
Détails du profil
Informations forums :
Inscription : août 2003
Messages : 248
Points : 232
Points : 232
Envoyer un message via Yahoo à allyson
salut
le session_start() doit être mis au tout début de page!
__________________
.: and Justice for all :.
------------------------------------------------------------
Membre du jury de l'élection de Mister DVP.com
les règles du forum
de penser au tag
allyson est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/03/2006, 16h25   #3
Membre émérite
 
Inscription : juillet 2005
Messages : 775
Détails du profil
Informations personnelles :
Âge : 29

Informations forums :
Inscription : juillet 2005
Messages : 775
Points : 858
Points : 858
Envoyer un message via AIM à ouatmad Envoyer un message via MSN à ouatmad Envoyer un message via Yahoo à ouatmad
revoie ta façon de mettre une variable en session. il m'a tout l'air q tu ne le fais pas correctement
__________________
Les hommes naissent et demeurent libres et egaux en dignité et en droit. Les distinctions sociales ne peuvent etre fondées que sur l'utilité commune. Article 1 droits et de l'homme et du citoyen. 1789
ouatmad est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/03/2006, 16h30   #4
Membre à l'essai
 
Inscription : mars 2006
Messages : 66
Détails du profil
Informations forums :
Inscription : mars 2006
Messages : 66
Points : 22
Points : 22
Envoyer un message via MSN à reventlov
Salut,

Non ! J'ai déjà testé, le session_start que tu vois peut être placé ici car il n'y a pas de code html ecrit avant donc pas d'entete envoyées. Par contre ma page accueil_espace_client.php a bien en première ligne session_star().

Mon problème est de savoir si la fonstion header ne me bouffe pas le contenu de mon tablea u $_SESSION, car quand je me un lien basique pour passer a la page accueil_espace_client.php, ça marche nickel
reventlov est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/03/2006, 16h39   #5
Membre émérite
 
Inscription : juillet 2005
Messages : 775
Détails du profil
Informations personnelles :
Âge : 29

Informations forums :
Inscription : juillet 2005
Messages : 775
Points : 858
Points : 858
Envoyer un message via AIM à ouatmad Envoyer un message via MSN à ouatmad Envoyer un message via Yahoo à ouatmad
Citation:
Envoyé par reventlov
Salut,

Non ! J'ai déjà testé, le session_start que tu vois peut être placé ici car il n'y a pas de code html ecrit avant donc pas d'entete envoyées. Par contre ma page accueil_espace_client.php a bien en première ligne session_star().

Mon problème est de savoir si la fonstion header ne me bouffe pas le contenu de mon tablea u $_SESSION, car quand je me un lien basique pour passer a la page accueil_espace_client.php, ça marche nickel
en principe header ne change rien a ta variable de session
__________________
Les hommes naissent et demeurent libres et egaux en dignité et en droit. Les distinctions sociales ne peuvent etre fondées que sur l'utilité commune. Article 1 droits et de l'homme et du citoyen. 1789
ouatmad est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/03/2006, 16h41   #6
Membre régulier
 
Inscription : février 2006
Messages : 188
Détails du profil
Informations forums :
Inscription : février 2006
Messages : 188
Points : 78
Points : 78
je dis peut etre une betise , mais essaye un peu d'enlever session_unset();

et aussi sur ta page 'accueil'apres redirection :

<?php
session_start() ;
if ( !isset( $_SESSION['login'] )) {
header('Location: login.php') ;
exit() ;
}
?>
ruty est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/03/2006, 17h00   #7
Membre à l'essai
 
Inscription : mars 2006
Messages : 66
Détails du profil
Informations forums :
Inscription : mars 2006
Messages : 66
Points : 22
Points : 22
Envoyer un message via MSN à reventlov
Désolé pour le dérangement, mais j'ai trouvé mon erreur: sur la page d'accueil je fais appel a mes variables de session avec par exemple $_SESSION['nom'] et nom pas $_SESSION[0] par exemple.

Il faut donc que dans mon cade j'utilise mysql_fetch_assoc à la place de mysql_fetch_array.

J'ai honte, c'est une erreur débile...

Merci pour les reponses
reventlov est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/03/2006, 17h02   #8
Membre émérite
 
Avatar de Yobs
 
Inscription : avril 2004
Messages : 675
Détails du profil
Informations personnelles :
Localisation : France, Paris (Île de France)

Informations forums :
Inscription : avril 2004
Messages : 675
Points : 808
Points : 808
Envoyer un message via MSN à Yobs
Ceci dit je te conseillerai une autre méthode pour authentifier tes utilisateurs.
__________________
Chaque problème a une solution, mais il est plus facile de répondre si le problème est correctement renseignés
Yobs est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/03/2006, 17h31   #9
Membre à l'essai
 
Inscription : mars 2006
Messages : 66
Détails du profil
Informations forums :
Inscription : mars 2006
Messages : 66
Points : 22
Points : 22
Envoyer un message via MSN à reventlov
Je suis ouvert à tous les bon conseils !

Quelle autre méthode et pourquoi ? Si y'a mieux je suis preneur. C'est la première fois que je dois gérer des utilisateurs sur un site (enfin que je dois le coder moi...). Si tu pouvais me mettre sur la piste même sans entrer dans les détails, ça m'aiderait beaucoup !
reventlov 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 22h56.


 
 
 
 
Partenaires

Hébergement Web