session avec Bdd
Posté : 12 mai 2018, 17:34
Bonjour,
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.
ensuite je colle le résultat dans mon champ créer au préalable dans ma Bdd.
Mon soucis maintenant comment et ou je dois creer mon code pour verifier le mot de passe correspondant a "toto" ?
Page index.php :
page session-login.php :
Dans cette page j'avais mis "toto" comme password, pour tester mon code. Il va falloir biensure que je supprime cette ligne.
Page session-verif.php :
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]
?>