php login et mot de passe
Bonjour.
J'ai un code php, pour le login et mot de passe. Le problème c'est que je ne comprend pas pourquoi il m'envoie pas sur la page demandé.
Enfin j'aimerai que quand j'entre le bon login et mot de passe il m'envoie sur la page page_liste.php
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 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63
| include 'connexion_bd/connexion_bd.php';
/*$connexion = mysqli_connect("localhost", "root", "root", "courte_paille");
mysqli_query($connexion, "SET NAMES 'utf8'");*/
/*---------------------------------------------------------*/
if($_SERVER["REQUEST_METHOD"] == 'POST'){
// le minimum de vérification sur les informations reçues par le formulaire
if(isset($_POST["login"]) && isset($_POST["pass"])){
// La connexion a échouée
if(!$connexion){
//On récupère le beau message d'erreur de connexion généré par mysql (mysqli_connect_error)
$msgError = sprintf(" ERREUR : %s", mysqli_connect_error());
exit($msgError);
}
// pas d'errueurs, nous sommes connecté!
$login = mysqli_real_escape_string($connexion, $_POST["login"]);
$pass = mysqli_real_escape_string($connexion, $_POST["pass"]);
$sql = "SELECT * FROM user WHERE login = '".$login."' AND pass = '".$pass."'";
// On execute la requête
$resultat = mysqli_query($connexion, $sql);
//Tout est bon, on peut afficher le résultat de la requête
if(mysqli_num_rows($resultat) === 1){
$ligne = mysqli_fetch_assoc($resultat);
if(password_verify($pass, $ligne["pass"])){
// démarrer la session
session_start();
// initialiser une variable de session user
$_SESSION['user'] = $login;
// redirection sur plat_liste.php
header('Location:base_de_donnee/plat/plat_liste.php');
// bye
exit();
}
}else{
// sinon : message = pas ok
$message = "Login ou mot de passe eronné";
}
}
}
/*---------------------------------------------------------*/
$ok = mysqli_close($connexion); |