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.

TP concret
Formulaires PHP
INSERT UPDATE DELETE
PDO sécurisé

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.