Cours_PHP
Cours_PHP
Cours_PHP
Introduction
PHP est un langage de script largement utilisé pour le
développement web côté serveur. Il est souvent utilisé pour interagir
avec des bases de données, principalement MySQL, grâce à
phpMyAdmin, une interface graphique qui permet de gérer les bases
de données MySQL.
Dans ce cours, nous allons apprendre à :
1. Se connecter à une base de données MySQL en utilisant PHP.
2. Insérer des données dans la base de données.
3. Récupérer des données depuis la base de données.
II. Prérequis
Avoir un serveur local installé (par exemple XAMPP, WAMP).
Connaître les bases de PHP (variables, fonctions).
Connaître les bases de MySQL et phpMyAdmin.
Accédez à phpMyAdmin
Vue d’ensemble
Cadre 1
Cadre 3
Cadre 2
Appuyez sur le
Entrez le nom bouton pour
de votre base valider la
de données. création.
2 3
1
Après avoir validé la création de la table, vous allez arriver sur cette
interface où vous devrez saisir le nom de vos différentes colonnes,
types ainsi que leurs Taille/Valeurs :
Après avoir créé la colonne id, faites défiler le menu vers la droite pour
activer la case AUTO_INCREMENT, tout en restant sur la même ligne
de la colonne id.
Défilez vers le bas, puis appuyez sur le bouton Enregistrer pour valider
la création de la table.
Défilez vers le bas, puis appuyez sur le bouton Enregistrer pour valider
la création de la table.
2. Code PHP pour se connecter à la base de
données
3. Vérification de la connexion :
4. Message de succès :
2. Exécution de la requête :
6. Fermeture de la connexion :
Formulaire d’ajout
2. Suppression de données
Pour supprimer une entrée de la base de données, nous utilisons
la requête DELETE. Voici un exemple pour supprimer un produit.
Explication :
prepare() crée une requête avec des paramètres (?).
bind_param() associe des variables à ces paramètres en
précisant les types de données (s pour string, d pour double, etc.).
Cela rend la requête sécurisée contre l’injection SQL.
Formulaire pour la mise à jour
PROJET :
formulaire HTML pour ajouter des produits à une base de
données, puis afficher les produits dans un tableau juste
en dessous du formulaire.
Tout au long de ce cours, nous avons utilisé la
méthode mysqli pour établir une connexion à la
base de données.
Caractéristiques de PDO :
Support de multiples bases de données : PDO
est une abstraction pour la base de données qui
permet de se connecter non seulement à MySQL,
mais également à d'autres systèmes de gestion de
bases de données (PostgreSQL, SQLite, MS SQL,
Oracle, etc.). En changeant simplement le DSN,
vous pouvez basculer vers une autre base de
données sans changer beaucoup de code.
Sécurité : PDO permet de sécuriser les requêtes
avec des requêtes préparées (prepared
statements). Cela aide à prévenir les attaques par
injection SQL, ce qui est crucial pour la sécurité des
applications web.
Méthodes avancées : PDO offre plus d'options en
matière de gestion des erreurs, de contrôle des
transactions et de gestion des types de données
retournés (par exemple, récupérer les données
sous forme d'objets ou de tableaux associatifs).
Correction de bug:
lorsque la page est rafraîchie après l'envoi d'un formulaire, ce
qui entraîne une nouvelle soumission du formulaire et donc
une duplication des données. Pour corriger ce bug, il faut
éviter de soumettre les données du formulaire lorsque la page
est actualisée.
Une méthode simple pour éviter ce problème est d'utiliser une
redirection après la soumission du formulaire. Cela permet
d'empêcher le navigateur de renvoyer les données du
formulaire lorsque la page est rechargée.
La meilleure solution pour éviter cette duplication est
d'appliquer la technique de Post/Redirect/Get (PRG). Elle
consiste à rediriger l'utilisateur vers une nouvelle page après le
traitement du formulaire, de sorte qu'un simple rechargement
de la page ne renvoie pas la requête POST et n'ajoute pas un
autre produit.
Explication des changements
Après l'insertion du produit dans la base de données, nous
redirigeons vers la page principale (index.php) en utilisant la
fonction header(). Cela empêche la soumission multiple du
formulaire lorsque l'utilisateur actualise la page.
Utilisation de exit; juste après la redirection pour arrêter
l'exécution du script après la redirection. Cela garantit que le
reste du code n'est pas exécuté après la redirection.