Apprentissage progressif des opérations Create, Read, Update, Delete avec Bootstrap 5
Téléchargez l'archive contenant tous les fichiers nécessaires pour réaliser ce TP
Télécharger les fichiers de baseL'archive contient : structure SQL, fichier de configuration et les 3 étapes du TP
Ce TP vous permettra d'acquérir les compétences suivantes :
Le TP utilise une table users avec la structure suivante :
| Colonne | Type | Contraintes | Description |
|---|---|---|---|
id |
INT | PRIMARY KEY, AUTO_INCREMENT | Identifiant unique de l'utilisateur |
email |
VARCHAR(255) | UNIQUE, NOT NULL | Adresse email de l'utilisateur |
password |
VARCHAR(255) | NOT NULL | Mot de passe haché |
role |
ENUM | NOT NULL, DEFAULT 'guest' | Rôle : guest author editor admin |
created_at |
TIMESTAMP | DEFAULT CURRENT_TIMESTAMP | Date de création |
updated_at |
TIMESTAMP | ON UPDATE CURRENT_TIMESTAMP | Date de dernière modification |
Approche classique avec un fichier PHP pour chaque opération.
index.php - Liste des utilisateurscreate.php - Formulaire de créationview.php - Affichage détailléedit.php - Modificationdelete.php - SuppressionCentralisation de toutes les opérations dans index.php.
Interface moderne sans rechargement de page.
api.php - API REST JSONExtraire le fichier ZIP dans le répertoire de votre serveur web (htdocs, www, etc.)
Importer le fichier database.sql dans phpMyAdmin ou via la ligne de commande :
Modifier les paramètres dans config.php si nécessaire :
define('DB_HOST', 'localhost');
define('DB_NAME', 'tp_crud_php');
define('DB_USER', 'root');
define('DB_PASS', '');
Ouvrir votre navigateur et accéder aux différentes étapes :
http://localhost/tp-crud-php/etape1/http://localhost/tp-crud-php/etape2/http://localhost/tp-crud-php/etape3/// ❌ Mauvais
$sql = "SELECT * FROM users WHERE email = '$email'";
// ✅ Bon
$stmt = $pdo->prepare("SELECT * FROM users WHERE email = ?");
$stmt->execute([$email]);
password_hash() pour le hachagepassword_verify()// Hachage
$hash = password_hash($password, PASSWORD_DEFAULT);
// Vérification
if (password_verify($password, $hash)) {
// Mot de passe correct
}