Trouver les utilisateurs dans une base de donnée MySQL à partir d'un fichier de connexion PHP
Bonjour à tous,
Dans le cadre de mes études en informatique, je dois créer un petit site web en HTML et inclure un formulaire en HTML avec sa base de donnée en MySQL.
J'ai déjà créer le code PHP pour l'inscription, cela fonctionne correctement. Les utilisateurs renseignés sont correctement enregistrer dans la base de donnée.
J'ai créer le code PHP pour la connexion aux compte utilisateur sur le site web mais j'ai un problème.
Après avoir cliquer sur le bouton connexion sur mon site, les utilisateurs ne sont pas retrouver dans la base de donnée, j'ai le message dans le navigateur suivant : Nom d'utilisateur ou mot de passe incorrect.
Pourtant, je retrouve l'adresse mail et le mot de passe de l'utilisateur dans la base de donnée.
J'ai vérifier plusieur fois mais il n'y a pas d'erreur dans les identifiants.
Voici le code :
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
| <?php
error_reporting(E_ALL);
ini_set('display_errors', 1);
// Vérifie si le formulaire a été soumis
if ($_SERVER["REQUEST_METHOD"] == "POST") {
// Connexion à la base de données (remplacez les valeurs par les vôtres)
$servername = "localhost";
$username = "user_admin";
$password = "admin";
$dbname = "client_mybase";
// Créer une connexion
$conn = new mysqli($servername, $username, $password, $dbname);
// Vérifier la connexion
if ($conn->connect_error) {
die("La connexion a échoué : " . $conn->connect_error);
}
// Récupérer les valeurs du formulaire
$user_email = $_POST['email'];
$user_password = $_POST['password']; // Utilisation d'un nom de variable différent
// Requête SQL pour vérifier l'utilisateur
// Utilisation de la préparation de requête pour éviter les injections SQL
$sql = "SELECT * FROM users WHERE email=? AND password=?";
$stmt = $conn->prepare($sql);
$stmt->bind_param("ss", $email, $user_password);
$stmt->execute();
$result = $stmt->get_result();
// Vérifier si l'utilisateur existe dans la base de données
if ($result->num_rows > 0) {
// L'utilisateur est authentifié avec succès
echo "Connexion réussie ! Bienvenue, $email.";
} else {
// L'utilisateur n'est pas trouvé ou les informations sont incorrectes
echo "Nom d'utilisateur ou mot de passe incorrect.";
}
// Fermer la connexion à la base de données
$stmt->close();
$conn->close();
}
?> |
Je ne trouve pas ce qui ne va pas dans le code php, est-ce que quelqu'un aurait une idée ?
Merci beaucoup.