Travaux pratiques PHP SQL
Une formation très pratique pour apprendre à créer de vrais formulaires PHP reliés à MySQL. Objectif : comprendre simplement comment insérer, afficher, modifier et supprimer des données avec PDO.
Formation premium
Travaux pratiques PHP SQL
Cette formation est construite comme un TP progressif. On part d’une base MySQL très simple, puis on crée des formulaires PHP pour ajouter, lister, modifier, supprimer et rechercher des données. Tous les exemples sont copiables, volontairement simples, et pensés pour être testés avec Laragon et phpMyAdmin.
Objectif du TP : créer un mini CRUD PHP SQL
Dans cette formation, on va créer une mini application PHP qui permet de gérer des contacts. C’est volontairement simple, mais c’est exactement la base de beaucoup de projets : espace admin, gestion de produits, blog, formations, clients, commandes, inscriptions.
CRUD veut dire : Create ajouter, Read lire, Update modifier, Delete supprimer.
Pourquoi commencer par des contacts ?
Parce qu’un contact contient des champs simples : prénom, nom, email, téléphone, message. C’est parfait pour apprendre sans se perdre.
Créer la base SQL dans phpMyAdmin
Ouvrez phpMyAdmin, allez dans l’onglet SQL, puis collez ce code.
Il crée une base et une table contacts.
Ajouter quelques données de test
Vérifier que tout fonctionne
Créer la connexion PDO
PDO permet à PHP de parler avec MySQL. On commence par créer un fichier de connexion réutilisable.
Tester la connexion
Si la page affiche "Connexion réussie", votre PHP communique bien avec MySQL.
Créer les fonctions utiles
Avant de créer les pages, on prépare quelques fonctions simples : échapper l’affichage, rediriger, lire une valeur de formulaire.
Pourquoi utiliser e() ?
Parce qu’une donnée venant d’un formulaire ou d’une base ne doit jamais être affichée directement.
e() évite d’injecter du HTML ou du JavaScript dangereux dans la page.
Créer un header et un footer simples
On évite de répéter le HTML de base dans chaque fichier.
Important
Dans ce TP, le design est volontairement minimal. Le but est de comprendre PHP + SQL. Le CSS pourra venir ensuite.
READ : afficher la liste des contacts
Première étape du CRUD : afficher les données existantes avec un SELECT.
Ce que fait cette page
Elle se connecte à la base, récupère les contacts actifs, puis les affiche dans un tableau HTML.
READ : afficher une fiche détail
Maintenant, on crée une page pour voir un seul contact grâce à son id dans l’URL.
Pourquoi une requête préparée ?
Même si on caste l’id en entier, on utilise une requête préparée. C’est une bonne habitude à prendre.
CREATE : créer le formulaire d’ajout
On crée maintenant un formulaire HTML pour ajouter un contact. Pour l’instant, on prépare les champs et la logique de validation.
Champs importants
L’attribut name est essentiel. C’est lui qui permet à PHP de retrouver la valeur dans $_POST.
CREATE : insérer en base avec INSERT
Maintenant, on relie le formulaire à MySQL avec un INSERT INTO.
Ce qu’il faut comprendre
Le formulaire envoie les données en POST. PHP nettoie les valeurs, valide les champs, puis insère en base avec une requête préparée.
UPDATE : préremplir un formulaire de modification
Pour modifier un contact, on doit d’abord récupérer ses données existantes puis les afficher dans le formulaire.
UPDATE : modifier en base avec UPDATE
Voici la page complète pour modifier un contact.
DELETE : supprimer un contact simplement
Pour supprimer, on peut utiliser DELETE, mais il faut être prudent.
Problème
Cette suppression est directe. L’utilisateur clique et la ligne disparaît. Pour un vrai projet, il vaut mieux demander confirmation.
DELETE : supprimer avec confirmation
Version plus propre : une page affiche le contact, puis demande confirmation via un formulaire POST.
DELETE : suppression logique avec is_active
Dans beaucoup de projets, on évite de supprimer vraiment.
On passe simplement is_active à 0.
Avantage
La donnée reste en base. On peut l’archiver, la restaurer ou garder un historique.
Ajouter une recherche simple
On ajoute un champ de recherche pour filtrer les contacts par prénom, nom ou email.
Exercice
Ajoutez aussi la recherche sur le champ phone.
Ajouter une pagination simple
Quand il y a beaucoup de contacts, on ne veut pas tout afficher d’un coup.
On utilise LIMIT et OFFSET.
Important
Pour une pagination parfaite, il faut aussi compter le nombre total de lignes. Mais cette version suffit pour comprendre le principe.
Ajouter des messages de succès avec session
Après un ajout, une modification ou une suppression, on peut afficher un message de confirmation.
Exercice
Ajoutez un message après modification et après suppression.
Protéger les formulaires avec un token CSRF
Un token CSRF permet de vérifier qu’un formulaire vient bien de votre site. C’est important pour les actions sensibles : ajout, modification, suppression.
Validation complète des champs
Avant d’insérer ou modifier, il faut vérifier proprement les données.
Pourquoi c’est mieux ?
La validation est rangée dans une fonction. On peut la réutiliser dans create.php et edit.php.
Factoriser le formulaire create/edit
Le formulaire d’ajout et de modification se ressemble beaucoup. On peut créer un fichier réutilisable.
Exercice complet : refaire le CRUD pour des produits
Maintenant que vous savez gérer des contacts, refaites la même logique pour des produits.
Consignes
Créez les pages suivantes :
products/index.php,
products/create.php,
products/edit.php,
products/delete.php.
Exercice complet : gérer des avis clients
Deuxième exercice : gérer des avis clients avec une note de 1 à 5.
Validation attendue
Erreurs classiques à comprendre
Voici les problèmes que vous allez forcément rencontrer au début.
Checklist avant de valider un formulaire
Avant chaque INSERT ou UPDATE, posez-vous ces questions.
Règle simple
Une donnée utilisateur n’est jamais fiable par défaut.
On la nettoie, on la valide, on l’insère avec PDO, puis on l’affiche avec e().
Projet final : mini espace admin
Pour terminer, construisez un mini espace admin qui gère plusieurs contenus.
Objectif
Créer une interface avec trois modules : contacts, produits et avis clients.
Dashboard simple
Récapitulatif du TP PHP SQL
Vous savez maintenant créer les opérations essentielles d’une application PHP reliée à MySQL.
Ce que vous devez maîtriser
Les formulaires POST, les requêtes préparées, la validation, l’affichage sécurisé, les redirections, les messages de succès, la suppression avec confirmation et la séparation des fichiers.
La suite logique
Après cette formation, vous pouvez apprendre l’authentification admin, les permissions, les uploads, les relations entre tables, les transactions SQL, puis une architecture plus propre type mini MVC.