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 10/11/2006, 17h14   #1
Invité régulier
 
Inscription : avril 2003
Messages : 19
Détails du profil
Informations forums :
Inscription : avril 2003
Messages : 19
Points : 8
Points : 8
Par défaut authentification d'usager

Encore moi avec mes question bêtes ..

J'ai ce code dans ma page valid.php ou je valide le code usager et le mot de passe, qui sont comparer à la BD

voici les lignes de ma table user
user - pw - type
moi - 12345 - 1
type1 - 111 - 1
type2 - 222 - 2
type3- 333 - 3

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
 
<?php	
	session_start();
 
	include('DB.php');	
 
	$nUser = $_POST['nUser']; // viens du formulaire user,php
	$nPw = $_POST['nPw'];    // viens du formulaire user,php
 
	echo "user= " .$nUser;
	echo "npw= " .$nPw;	
 
	// ** user et son mot de passe //	
	$requet = mysql_query("Select * from Fusee_User") or die('Error : '.mysql_error);
	$row = mysql_fetch_assoc($requet);	
 
	//** voir les infos **//
	echo "user= " .$row['User'];
	echo "type= " .$row['Type'];
	echo "fk= ".$row['FK_Rest'];
 
	if(($row['User']  == $nUser) && ($row['Pw'] == $nPw)) {						
		$_SESSION['User'] = $nUser;
		$_SESSION['Type'] = $row['Type'];
		$_SESSION['fk'] = $row['FK_Rest'];		
 
		if($row['Type'] == '1'){
			// ** Franchiseur **
			?>
			<script language="JavaScript" type="text/JavaScript">								
			window.location.replace("../admin.php");					
			</script><?php
		} elseif($row['Type'] == '2') {						
			//* Franchisé **			
			?>
			<script language="JavaScript" type="text/JavaScript">											
			window.location.replace("restadm.php");					
			</script><?php
		}												
 
	}else{
		//** detruit la session **//
		$_SESSION = array();		
		session_destroy();			
		echo 'Access denied! <br> Pour recommencer <a href="../user.php">clicker ici</a>.';				
	}
 
?>
quand j'entre moi 12345 sa marche a merveille. J'essaie type1-111, mais la dans ma variable session j'ai encore moi-12345, il passe ds le esle mais ne detruit pas la session.

Quand je teste un usager et mot de passe incorrecte il passe bien dans le "else", sauf qu'il ne detruit pas ma session

Je ne vois pas ce que j'ai manquer ..
fearless est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/11/2006, 17h19   #2
Membre habitué
 
Avatar de Akramweb
 
Inscription : avril 2005
Messages : 168
Détails du profil
Informations forums :
Inscription : avril 2005
Messages : 168
Points : 125
Points : 125
Envoyer un message via MSN à Akramweb
essaie ceci dans else qui detruit la session:
Code :
1
2
3
4
unset($_SESSION['User']);
session_unset();
session_destroy();
et tu dois aussi faire un test dans ta requete:
Code :
1
2
$requet = mysql_query("Select * from Fusee_User where user='$nUser' and pw='$nPw'") or die('Error : '.mysql_error);
Akramweb est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/11/2006, 17h30   #3
Invité régulier
 
Inscription : avril 2003
Messages : 19
Détails du profil
Informations forums :
Inscription : avril 2003
Messages : 19
Points : 8
Points : 8
le code suivant ne change rien ... j'ai encore les meme valeur ds mes variables sessions

Code :
1
2
3
4
5
6
7
 
//** detruit la session **//
unset($_SESSION['User']);
session_unset();
$_SESSION = array();		
session_destroy();			
echo 'Access denied! <br> Pour recommencer <a href="../user.php">clicker ici</a>.';
Pour la validation de mon user et pw je me sert de ce bout de code juste un peu plus bas ...
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
 
	// ** user et son mot de passe //	
	$requet = mysql_query("Select * from Fusee_User ") or die('Error : '.mysql_error);
	$row = mysql_fetch_assoc($requet);	
 
	//** voir les infos **//
	echo "user= ".$row['User'];
	echo "type= ".$row['Type'];
	echo "fk= ".$row['FK_Rest'];
 
	if(($row['User']  == $nUser) && ($row['Pw'] == $nPw)) {	//** ici !**//		
		if($row['Type'] == '1'){
			// ** Franchiseur **
			?>
			<script language="JavaScript" type="text/JavaScript">								
			window.location.replace("../admin.php");					
			</script><?php
		} elseif($row['Type'] == '2') {						
			//* Franchisé **			
			?>
			<script language="JavaScript" type="text/JavaScript">											
			window.location.replace("restadm.php");					
			</script><?php
		}												
 
	}else{
		//** detruit la session **//
		unset($_SESSION['User']);
		session_unset();
		$_SESSION = array();		
		session_destroy();			
		echo 'Access denied! <br> Pour recommencer <a href="../user.php">clicker ici</a>.';				
	}
fearless est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/11/2006, 17h33   #4
Membre habitué
 
Avatar de Akramweb
 
Inscription : avril 2005
Messages : 168
Détails du profil
Informations forums :
Inscription : avril 2005
Messages : 168
Points : 125
Points : 125
Envoyer un message via MSN à Akramweb
tu dois aussi changer la requete:
Code :
1
2
$requet = mysql_query("Select * from Fusee_User where user='$nUser' and pw='$nPw'") or die('Error : '.mysql_error);
Akramweb est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/11/2006, 17h10   #5
Invité régulier
 
Inscription : avril 2003
Messages : 19
Détails du profil
Informations forums :
Inscription : avril 2003
Messages : 19
Points : 8
Points : 8
En effet, vous aviez raison. Tout focntionne a merveille
fearless 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 15h07.


 
 
 
 
Partenaires

Hébergement Web