Untitled

mail@pastecode.io avatar
unknown
plain_text
25 days ago
2.1 kB
1
Indexable
Never
<?php
// Remplacez ces informations par les détails de votre base de données
$serveur = "localhost";
$utilisateur = "root";
$motDePasse = "";
$baseDeDonnees = "formation";

// Établir la connexion
try {
    $database = new PDO("mysql:host=$serveur;dbname=$baseDeDonnees", $utilisateur, $motDePasse);
    $database->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
} catch (PDOException $e) {
    die("La connexion à la base de données a échoué : " . $e->getMessage());
}

// Récupérer l'email et le mot de passe à partir d'un formulaire ou d'une autre source
$email = $_POST['email'];
$motDePasse = $_POST['password'];

// Requête SQL préparée pour vérifier le mail
$query = "SELECT ID_connexion, motDePasse FROM connexion WHERE emailC = :email";
$stmt = $database->prepare($query);
$stmt->bindParam(':email', $email);
$stmt->execute();

// Récupérer l'ID_connexion et le mot de passe haché
$resultat = $stmt->fetch(PDO::FETCH_ASSOC);
$idc = ($resultat !== false) ? $resultat['ID_connexion'] : null;
$hashedPasswordFromDatabase = ($resultat !== false) ? $resultat['motDePasse'] : null;

// Vérifier le résultat
if ($idc !== null) {
    // Si le mot de passe est haché, vérifiez avec password_verify
    if (!empty($hashedPasswordFromDatabase) && password_verify($motDePasse, $hashedPasswordFromDatabase)) {
        // Utilisateur authentifié, redirigez l'utilisateur vers une page sécurisée avec l'ID_connexion
        header("Location: http://localhost/test web/dashboard.php?idc=$idc");
        exit();
    } else {
        $stmt->bindParam(':motDePasse', $motDePasse);
        // Utilisateur authentifié avec un mot de passe non haché, redirigez l'utilisateur
        header("Location: http://localhost/test web/dashboard.php?idc=$idc");
        exit();
    }
}

// Authentification échouée, faites quelque chose ici (par exemple, affichez un message d'erreur)
else{echo "Echec de connexion,";
    echo '<a href="login.html">cliquer ici';}

// Fermer la connexion
$database = null;
?>
Leave a Comment