L'objectif est de créer une application web simple qui permet de gérer une base de données MySQL. Nous allons créer une application de gestion des utilisateurs avec des fonctionnalités CRUD (Create, Read, Update, Delete).
Créer la base de données :
http://localhost/phpmyadmin.user_management.Créer les tables :
Dans phpMyAdmin, créez une table nommée users avec les colonnes suivantes :
CREATE TABLE users (
id INT AUTO_INCREMENT PRIMARY KEY,
username VARCHAR(50) NOT NULL,
email VARCHAR(100) NOT NULL,
password VARCHAR(255) NOT NULL,
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
) ENGINE=InnoDB;
Préparer le projet PHP :
user_management dans le dossier C:\\\\wamp64\\\\www de WAMP.index.php et un fichier config.php.Configurer la connexion à la base de données :
Dans config.php, ajoutez le code suivant pour établir la connexion à la base de données :
<?php
$servername = "localhost";
$username = "root";
$password = "";
$dbname = "user_management";
// Créer la connexion
$conn = new mysqli($servername, $username, $password, $dbname);
// Vérifier la connexion
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
Formulaire d'inscription :
Dans form_add.php, ajoutez un formulaire HTML pour l'inscription des utilisateurs :
<!DOCTYPE html>
<html>
<body>
<h2>Inscription Utilisateur</h2>
<form action="register.php" method="post">
Nom d'utilisateur: <input type="text" name="username"><br>
Email: <input type="email" name="email"><br>
Mot de passe: <input type="password" name="password"><br>
<input type="submit" value="S'inscrire">
</form>
</body>
</html>
Traitement de l'inscription :
Créez un fichier register.php pour traiter les données du formulaire et insérer un nouvel utilisateur dans la base de données :
<?php
require_once 'config.php';
if ($_SERVER["REQUEST_METHOD"] === "POST") {
$username = $_POST['username'];
$email = $_POST['email'];
$password = password_hash($_POST['password'], PASSWORD_DEFAULT);
// abcde => $2y$10$Sb3YutLLXjfgYDr757u4lOYmba3n9SawkeVDG6J9OVgjXTP1zyH4u
$sql = "INSERT INTO users (username, email, password) VALUES ('$username', '$email', '$password')";
if ($conn->query($sql) === TRUE) {
echo "Nouvel utilisateur créé avec succès";
} else {
echo "Erreur: " . $sql . "<br>" . $conn->error;
}
}
<?php
// Version encore plus sécurisée de register.php
require_once 'config.php';
if ($_SERVER['REQUEST_METHOD'] === 'POST') {
$username = $_POST['username'];
$email = $_POST['email'];
$password = password_hash($_POST['password'], PASSWORD_DEFAULT);
$sql = "INSERT INTO users (username, email, password) VALUES (?,?,?);";
$stmt = $conn->prepare($sql);
if ($stmt) {
$stmt->bind_param("sss", $username, $email, $password);
if ($stmt->execute()) {
echo "Nouvel utilisateur créé avec succès.";
} else {
echo "Erreur : " . $sql . "<br>" . $stmt->error;
}
} else {
echo "Erreur lors de la préparation de la requête : " . $conn->error;
}
}
Affichage des utilisateurs :
Ajoutez un fichier index.php pour afficher la liste des utilisateurs :
<?php
require 'config.php';
$sql = "SELECT id, username, email FROM users";
$result = $conn->query($sql);
?>
<!DOCTYPE html>
<html>
<head>
<title>Liste des Utilisateurs</title>
</head>
<body>
<?php if ($result->num_rows > 0) : ?>
<table>
<tr>
<th>ID</th>
<th>Nom d'utilisateur</th>
<th>Email</th>
</tr>
<?php while($row = $result->fetch_assoc()) : ?>
<tr>
<td><?php echo $row["id"]; ?></td>
<td><?php echo $row["username"]; ?></td>
<td><?php echo $row["email"]; ?></td>
</tr>
<?php endwhile; ?>
</table>
<?php else : ?>
<p>0 résultats</p>
<?php endif; ?>
</body>
</html>
Formulaire de mise à jour :
Ajoutez un formulaire HTML dans form_update.php pour mettre à jour les informations des utilisateurs :
<?php
require_once 'config.php';
$id = $_GET['id'];
$sql = "SELECT id,username,email from users WHERE id=$id";
$result = $conn->query($sql);
$user = $result->fetch_assoc();
?>
<form action="update.php" method="post">
ID:
<input type="text" name="id" value="<?= $id ?>"><br>
Nom d'utilisateur:
<input type="text" name="username" value="<?= $user['username'] ?>"><br>
Email:
<input type="email" name="email" value="<?= $user['email'] ?>"><br>
<button>Mettre à jour</button>
</form>
Traitement de la mise à jour :
Créez un fichier update.php pour traiter les données du formulaire et mettre à jour les informations de l'utilisateur :
<?php
require_once 'config.php';
if ($_SERVER['REQUEST_METHOD'] === 'POST') {
$id = $_POST['id'];
$username = $_POST['username'];
$email = $_POST['email'];
$sql = "UPDATE users SET username=?, email=? WHERE id=?";
$stmt = $conn->prepare($sql);
if ($stmt) {
$stmt->bind_param("sss", $username, $email, $id);
if ($stmt->execute()) {
header('location:index.php');
} else {
echo "Erreur : " . $sql . "<br>" . $stmt->error;
}
} else {
echo "Erreur lors de la préparation de la requête : " . $conn->error;
}
}
Suppression des utilisateurs :
Ajoutez dans l’affichage du listing des utilisateurs, index.php pour supprimer un utilisateur :
<td><?= $row['email'] ?></td>
<td>
<a href="delete.php?id=<?= $row['id'] ?>">🗑️</a>
</td>
</tr>
<?php endwhile ?>
Traitement de la suppression :
Créez un fichier delete.php pour traiter les données du formulaire et supprimer l'utilisateur de la base de données :
<?php
require_once 'config.php';
$id = $_GET['id'];
$sql = "DELETE FROM users WHERE id=$id";
$result = $conn->query($sql);
if ($result) {
// echo "Utilisateur supprimé avec succès.";
header('location:index.php');
} else {
echo "Erreur : " . $sql . "<br>" . $conn->error;
}
[1] https://www.w3schools.com/php/ [2] https://www.simplilearn.com/tutorials/php-tutorial/php-with-sql [3] https://www.taniarascia.com/create-a-simple-database-app-connecting-to-mysql-with-php/ [4] https://www.w3schools.com/php/php_mysql_create.asp [5] https://www.youtube.com/watch?v=BUCiSSyIGGU [6] https://www.geeksforgeeks.org/php-tutorial/ [7] https://projectworlds.in/free-projects/php-projects/ [8] https://phpgurukul.com/php-projects-free-downloads/ [9] https://www.sourcecodester.com/php-project