j'ai créer 3 pages : index.php, session-login.php, session-verif.php.
La 1ère page permet de m'identifier via un formulaire.
la 2ème traite la validité du login et password.
La 3ème sera le petit fichier à inclure dans toutes les autres pages de mon site.
Je voudrais maintenant vérifier mes password selon les 2 identifiants : Administrateur et Agent.
ex : login = Agent et password = toto.
Je prend la methode : password_hash.
Code : Tout sélectionner
$hash = password_hash('toto', PASSWORD_DEFAULT);
echo $hash;Mon soucis maintenant comment et ou je dois creer mon code pour verifier le mot de passe correspondant a "toto" ?
Page index.php :
Code : Tout sélectionner
<?php
$error = isset($_GET['error']) ? $_GET['error'] : '';
$psw = isset($_GET['psw']) ? $_GET['psw'] : '';
?>
<!DOCTYPE html>
<html lang="fr">
<head>
.....
</head>
<body>
<div class="bg-img">
<form action="/essai/session/session-login.php" method="post">
<div class="cont">
<h1>Se connecter</h1>
<label for="login"><b>Login</b></label>
<SELECT name="login" size="1">
<OPTION>Administrateur
<OPTION selected=>Agent
</SELECT>
<label for="psw"><b>Mot de passe</b></label>
<input type="password" placeholder="Votre mot de passe" name="psw">
<button type="submit" class="btn">Se connecter</button>
<?php
/* Ci-dessous,mon SWITCH case qui porte sur la $error ci-dessus, selon le code error (1 ou 2) */
switch ($error){
case 1:
echo "merci de saisir un login";
break;
case 2:
echo "Le mot de passe <b>$psw</b> n'est pas valide...";
break;
case 3:
echo "Vous avez été deconnecté";
break;
}
?>
</div>
</form>
</div>Code : Tout sélectionner
<?php
/* Si les variables sont définies */
$login = isset($_POST['login']) ? $_POST['login'] : '';
$psw = isset($_POST['psw']) ? $_POST['psw'] : '';
/* Test de validité d'informations de connection */
if($login == '') { /*si la var est vide*/
header('Location: /essai/index.php?error=1');
}elseif ($psw != "toto") { /* si psw different de toto,*/
header('Location: /essai/index.php?error=2&psw='.$psw);
}else {
session_start(); /*si login pas vide, si psw = toto, on demarre la session*/
$_SESSION['login'] = $login;
$_SESSION['psw'] = $psw;
$_SESSION['logged'] = true;
header('Location: /essai/session/session-bienvenu.php');
}
?>Page session-verif.php :
Code : Tout sélectionner
<?php
session_start();
/* Ci-dessous, si la Super global $_SESSION['logged'] n'est pas défini(!isset)
* OU
* n'est pas égale à VRAIE(true)
* alors on redirige l'tilisateur sur la page d'acceuil avec un param code error=3 */
if(!isset($_SESSION['logged']) || !$_SESSION['logged']) {
header('Location: /essai/index.php?error=3');
}
/* Ci-dessous, le code permet de récupérer le login de l'utilisateur,
* que l'on pourra utilisé pour les differentes pages par la suite */
$login = isset($_SESSION['login']) ? $_SESSION['login'] : '';
[quote]je pense que là je pourrais mettre mon test password pour la Bdd[/quote]
?>