Introduction
Dans le développement web, la création d’un système de login est une compétence essentielle, surtout pour les développeurs débutants. Cet article vous guidera à travers les étapes de la création d’un système de login basique en PHP, en abordant les concepts d’authentification et de gestion des sessions.
1. Préparer l’environnement
Avant de commencer, assurez-vous d’avoir un serveur local (comme XAMPP ou MAMP) installé sur votre machine. Créez un dossier pour votre projet et assurez-vous d’avoir PHP et MySQL configurés.
2. Créer la base de données
Pour stocker les informations d’utilisateur, vous devez créer une base de données. Voici un exemple de requête SQL pour créer une table d’utilisateurs :
CREATE TABLE users (id INT AUTO_INCREMENT PRIMARY KEY, username VARCHAR(50) NOT NULL, password VARCHAR(255) NOT NULL);
3. Formulaire de login
Créez un fichier login.php
avec un formulaire HTML simple :
<form action="authenticate.php" method="POST">
<input type="text" name="username" placeholder="Nom d'utilisateur" required>
<input type="password" name="password" placeholder="Mot de passe" required>
<input type="submit" value="Se connecter">
</form>
4. Authentification des utilisateurs
Dans le fichier authenticate.php
, récupérez les données du formulaire et vérifiez-les dans la base de données :
<?php
session_start();
$conn = new mysqli("localhost", "username", "password", "database_name");
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
$username = $_POST['username'];
$password = $_POST['password'];
$sql = "SELECT * FROM users WHERE username='$username'";
$result = $conn->query($sql);
if ($result->num_rows > 0) {
$row = $result->fetch_assoc();
if (password_verify($password, $row['password'])) {
$_SESSION['username'] = $username;
header("Location: dashboard.php");
} else {
echo "Mot de passe incorrect";
}
} else {
echo "Nom d'utilisateur non trouvé";
}
?>
5. Sécuriser le mot de passe
Il est crucial de ne jamais stocker les mots de passe en clair. Utilisez la fonction password_hash()
lors de l’enregistrement d’un nouvel utilisateur :
$hashed_password = password_hash($password, PASSWORD_DEFAULT);
Conclusion
Vous avez maintenant un système de login basique en PHP ! Bien que cet exemple soit simple, il constitue une base solide pour développer des systèmes d’authentification plus complexes. N’oubliez pas d’explorer des fonctionnalités supplémentaires comme la réinitialisation de mot de passe et la gestion des sessions pour renforcer la sécurité de votre application.
Laisser un commentaire