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 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71
| <?php /*connexion.php*/ ?>
<?php
if(isset($_GET['out'])){$_SESSION=array();
header('Location:index.php');
exit;
}
if(empty($_POST['login']) AND !empty($_POST['password'])) {
$password=$_POST['password'];
$_SESSION['__MESSAGE__'][] = "Identifiant manquant.";
header ("Location:index.php");
}
else if(!empty($_POST['login']) AND empty($_POST['password'])) {
$login=$_POST['login'];
$_SESSION['__MESSAGE__'][] = "Mot de passe manquant.";
header ("Location:index.php");
}
else if(empty($_POST['login']) AND empty($_POST['password'])) {
$_SESSION['__MESSAGE__'][] = "Identifiant et mot de passe manquant.";
header ("Location:index.php");
}
else {
if(!empty($_POST['login']) && !empty($_POST['password'])){
$login=$_POST['login'];
$password=$_POST['password'];
$sql = 'SELECT IdUtilisateur,Password,Nom,Prenom FROM utilisateur
WHERE Login= :login';
$stmt = $db->prepare($sql);
$stmt->execute(array(':login'=>$login));
//y a-t-il un utilisateur ayant ce login ?
if($stmt->rowCount()==1){
$utilisateur = $stmt->fetch(PDO::FETCH_ASSOC);
if(md5($password)==$utilisateur['Password']){
//stocke les valeurs dans la session
$_SESSION['id']=$utilisateur['IdUtilisateur'];
$_SESSION['nom_connexion']=$login;
$_SESSION['nom']=$utilisateur['Nom'];
$_SESSION['prenom']=$utilisateur['Prenom'];
//cherche les rôles attribués à l'utilisateur
$sql = 'SELECT * from role
JOIN attribution ON
attribution.idR = role.idRole
WHERE attribution.idU = :id';
$stmt=$db->prepare($sql);
$stmt->execute(array(':id'=>$_SESSION['id']));
//on attribue le role "connecté" par défaut
$_SESSION['roles'][]=1;
//on ajoute les rôles dans la session
while($r = $stmt->fetch(PDO::FETCH_ASSOC)){
$_SESSION['roles'][] = $r['idRole'];
}header("Location:index.php");
exit;
}//if mot de passe
}// if nom utilisateur
}//if paramètres passés
$_SESSION['__MESSAGE__'][] = "Identifiants incorrects...";
header("Location:index.php");
exit;
}
?> |
Partager