Dans ce guide, vous apprendrez à créer un système de connexion puissant avec PHP ! Nous vous guiderons étape par étape tout au long du processus, afin que vous puissiez disposer en un rien de temps d'un système de connexion sécurisé et efficace pour votre site Web.
PHP et systèmes de connexion
PHP est un langage de script côté serveur populaire qui vous permet de créer des pages Web dynamiques. L'une des utilisations les plus courantes de PHP consiste à créer des systèmes de connexion pour les sites Web.
Un système de connexion est essentiel pour protéger les informations sensibles et fournir un contenu personnalisé aux utilisateurs. Dans ce didacticiel, nous allons créer un système de connexion simple mais puissant utilisant PHP et MySQL.
Nous couvrirons les étapes suivantes :
Configuration de votre environnement
Avant de commencer, assurez-vous que les logiciels suivants sont installés sur votre ordinateur :
- un serveur Web (comme Apache)
- PHP
- MySQL
Vous pouvez utiliser un package comme XAMPP ou WAMP pour installer tous ces composants en même temps.
Une fois que tout est configuré, créez un nouveau dossier dans le répertoire racine de votre serveur Web (tel que htdocs
pour Apache) et nommez-le login_system
.
Création de la base de données et des tables
Tout d’abord, nous devons créer une base de données et des tables pour stocker les informations utilisateur.
Ouvrez votre outil d'administration MySQL (tel que phpMyAdmin) et créez une nouvelle base de données appelée login_system
.
Ensuite, créez une table appelée users
avec la structure suivante :
CREATE TABLE `users` ( `id` int(11) NOT NULL AUTO_INCREMENT, `username` varchar(50) NOT NULL, `email` varchar(100) NOT NULL, `password` varchar(255) NOT NULL, `created_at` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP, PRIMARY KEY (`id`), UNIQUE KEY `username` (`username`), UNIQUE KEY `email` (`email`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
Ce tableau stockera l'identifiant de l'utilisateur, le nom d'utilisateur, l'e-mail, le mot de passe et la date de création du compte.
Construire le formulaire d'inscription
Créons maintenant un formulaire d'inscription qui permet aux utilisateurs de créer un compte.
Créez un nouveau fichier appelé register.php
dans ton login_system
dossier et ajoutez le code suivant :
<form action="register.php" method="post">
<label for="username">Username:</label>
<input id="username" name="username" required="" type="text" />
<label for="email">Email:</label>
<input id="email" name="email" required="" type="email" />
<label for="password">Password:</label>
<input id="password" name="password" required="" type="password" />
<input name="register" type="submit" value="Register" />
</form>
Ce code crée un formulaire HTML simple avec des champs pour le nom d'utilisateur, l'e-mail et le mot de passe. Les formulaires action
l'attribut est défini sur register.php
ce qui signifie que les données du formulaire seront envoyées au même fichier pour traitement.
Maintenant, ajoutons le code PHP pour traiter les données du formulaire et insérons-le dans le users
tableau.
Ajoutez le code suivant au début de votre register.php
déposer, avant la déclaration :
<?php if (isset($_POST['register'])) {
$mysqli = new mysqli("localhost", "username", "password", "login_system");
if ($mysqli->connect_error) { die("Connection failed: " $mysqli->connect_error); }
$stmt = $mysqli->prepare("INSERT INTO users (username, email, password) VALUES (?, ?, ?)"); $stmt->bind_param("sss", $username, $email, $password);
$username = $_POST['username']; $email = $_POST['email']; $password = $_POST['password'];
$password = password_hash($password, PASSWORD_DEFAULT);
if ($stmt->execute()) { echo "New account created successfully!"; } else { echo "Error: " $stmt->error; }
$stmt->close(); $mysqli->close(); }
Ce code vérifie si le formulaire a été soumis, se connecte à la base de données et insère les informations de l'utilisateur dans le users
tableau. Le mot de passe est haché à l'aide du module intégré de PHP password_hash
fonction pour plus de sécurité.
Construire le formulaire de connexion
Créons ensuite un formulaire de connexion qui permet aux utilisateurs de se connecter à leurs comptes. Créez un nouveau fichier appelé login.php
dans ton login_system
dossier et ajoutez le code suivant :
<form action="login.php" method="post">
<label for="username">Username:</label>
<input id="username" name="username" required="" type="text" />
<label for="password">Password:</label> <input id="password" name="password" required="" type="password" />
<input name="login" type="submit" value="Login" />
</form>
Ce code crée un formulaire HTML simple avec des champs pour le nom d'utilisateur et le mot de passe. L'attribut d'action du formulaire est défini sur login.php
ce qui signifie que les données du formulaire seront envoyées au même fichier pour traitement.
Ajoutons maintenant le code PHP pour traiter les données du formulaire et authentifier l'utilisateur. Ajoutez le code suivant au début de votre login.php
déposer, avant la déclaration :
<?php session_start(); if (isset($_POST['login'])) {
$mysqli = new mysqli("localhost", "username", "password", "login_system");
if ($mysqli->connect_error) { die("Connection failed: " $mysqli->connect_error); }
$stmt = $mysqli->prepare("SELECT id, password FROM users WHERE username = ?"); $stmt->bind_param("s", $username);
$username = $_POST['username']; $password = $_POST['password'];
$stmt->execute(); $stmt->store_result();
if ($stmt->num_rows > 0) {
$stmt->bind_result($id, $hashed_password);
$stmt->fetch();
if (password_verify($password, $hashed_password)) {
$_SESSION['loggedin'] = true; $_SESSION['id'] = $id; $_SESSION['username'] = $username;
header("Location: dashboard.php"); exit; } else { echo "Incorrect password!"; } } else { echo "User not found!"; }
$stmt->close(); $mysqli->close(); }
Ce code vérifie si le formulaire a été soumis, se connecte à la base de données et récupère les informations de l'utilisateur depuis le users
tableau. Le mot de passe est vérifié à l'aide du module intégré de PHP password_verify
fonction. Si la connexion réussit, l'utilisateur est redirigé vers un dashboard.php
page.
Sécuriser votre système de connexion
Pour sécuriser davantage votre système de connexion, vous devez mettre en œuvre les bonnes pratiques suivantes :
- Utilisez HTTPS pour crypter les données transmises entre le client et le serveur.
- Implémentez la protection CSRF (cross-site request forgery) à l’aide de jetons.
- Limitez le nombre de tentatives de connexion infructueuses pour empêcher les attaques par force brute.
- Stockez les informations sensibles, telles que les informations d'identification de la base de données, dans un fichier de configuration distinct en dehors de la racine du document du serveur Web.
- Mettez régulièrement à jour vos logiciels, y compris PHP, MySQL et votre serveur Web, pour appliquer les derniers correctifs de sécurité.
Conclusion
Toutes nos félicitations! Vous avez créé avec succès un système de connexion puissant avec des formulaires de connexion et sécurisé votre système de connexion.
Suivez-nous sur Facebook : https://web.facebook.com/mycamer.net/
Pour recevoir les dernières nouvelles sur votre téléphone grâce à l’application Telegram, cliquez ici : https://t.me/+KMdLTc0qS6ZkMGI0
Envoyez-nous un message par Whatsapp : Whatsapp +237 650 50 31 31
The post Créez un système de connexion puissant avec PHP en cinq étapes faciles — SitePoint first appeared on Technique de pointe.