TP3 - PHP-MySQL - UPB 22-231
TP3 - PHP-MySQL - UPB 22-231
Licence 2 MIAGE
Module : Technologies WEB 2
TP 3 : PHP/MySQL
Partie 1 : Création de la BD
4) Renseigner la table « etudiants » avec des informations fictives/réelles. Vous pouvez utiliser le script ci-
dessous :
INSERT INTO `etudiants` (`id`, `nom`, `prenoms`, `sexe`, `email`, `password`, `contact`, `quartier`,
`presentation`, `id_filiere`, `date_ajout`, `date_modif`) VALUES
(1, 'ACKA', 'KOUAKOU JEAN YVES', 'M', '[email protected]', '2022L2', NULL, 'COCODY', 'TEST TEST TEST TEST
TEST TEST TEST KOUAKOU JEAN YVES', 1, '2022-02-16 20:39:56', NULL),
(2, 'AGBEDJE', 'OSSOHOU ABACUC', 'M', '[email protected]', '2022L2', NULL, 'YOPOUGON', 'TEST TEST
TEST TEST TEST TEST TEST ', 1, '2022-02-16 20:39:56', NULL),
(3, 'AGNIN', 'JOEL JEAN DAVID', 'M', '[email protected]', '2022L2', NULL, 'PORT-BOUET', 'TEST TEST TEST TEST
TEST TEST TEST ', 1, '2022-02-16 20:42:39', NULL),
(4, 'KOUAKOU', 'ANNAYAH AKISSI', 'F', '[email protected]', '2022L2', NULL, 'ABOBO', 'TEST TEST TEST
TEST TEST TEST TEST', 1, '2022-02-16 20:46:18', NULL),
(5, 'COULIBALY', 'ROKIA', 'F', '[email protected]', '2022L2', NULL, 'ANYAMA', 'TEST TEST TEST TEST
TEST TEST TEST', 1, '2022-02-16 20:46:18', NULL),
(6, 'SAKO', 'KADER', 'M', '[email protected]', '2022L2', NULL, 'KOUMASSI', 'TEST TEST TEST TEST TEST TEST
TEST', 1, '2022-02-16 20:49:14', NULL),
(7, 'TESSOUGUE', 'AWA', 'F', '[email protected]', '2022L2', NULL, 'BINGERVILLE', 'TEST TEST TEST TEST
TEST TEST TEST', 1, '2022-02-16 20:49:14', NULL);
5) Renseigner la table « filieres » avec des informations fictives/réelles. Vous pouvez utiliser le script ci-
dessous :
Partie 2: Connexion à la BD
PDO (PHP Data Object) est une bibliothèque de fonctions PHP permettant d’accéder à n’importe quelle base de
données. Dans ce TP, pour se connecter à la base de données, nous utiliserons PDO.
1) Pour se connecter à une base de données avec PDO, on utilise la syntaxe suivante :
NB :
User : utilisateur de la base de données, ici dans notre cas on utilisera l’utilisateur root
2) Utilisation des blocs try et catch pour tester la présence d'erreurs : En cas d'erreur, PDO renvoie ce qu'on
appelle une exception, qui permet de « capturer » l'erreur.
Exemples :
<?php
try
$etudiantsStatement = $db->prepare($sqlQuery);
$etudiantsStatement->execute();
$etudiants = $etudiantsStatement->fetchAll();
?>
<?php
?>
5) Pratique : Exemple de script d’insertion
// Ecriture de la requête
// Préparation
$insertFiliere = $db->prepare($sqlQuery_2);
$insertFiliere->execute([
// Ecriture de la requête
// Préparation
$insertEtudiant = $db->prepare($sqlQuery_2);
// Exécution
$insertEtudiant->execute([
$etudiantsStatement = $db->prepare($sqlQuery_3);
o N’ajouter pas le mot de passe en clair dans la base de données ! Encrypter le en md5.
Exemple :
$password = md5($_POST["password"]);
Indication :
<a href="details_etudiant.php?id_etudiant=<?php echo $etudiant['id']; ?>">Voir plus </a>
o .
4) Créer une page details_etudiant.php qui afficher les informations d’un seul étudiant, cette page doit
également afficher un formulaire d’ajout d’une image
o Ajouter un input type= ‘file’ dans le formulaire
o Sauvegarder la photo dans un dossier « uploads»
o Sauvegarder le nom du fichier image dans la BD
Figure 1: Exemple page detail_etudiant.php
5) Créer une page modifier_etudiant.php qui permet d’afficher un formulaire pré rempli (avec les informations
de l’étudiant qu’on souhaite modifier).
o Vérifier la présence de la variable $_GET['id_etudiant'], si cette variable n’existe pas alors rediriger
sur la page « liste_etudiant.php »
o Faire la mise à jour des informations dans la BD.
6) Créer la page supprimer_etudiant.php qui permet de supprimer les informations d’un étudiant en BD
o Vérifier la présence de la variable $_GET['id_etudiant'], si cette variable n’existe pas alors rediriger
sur la page « liste_etudiant.php
o Supprimer les informations de l’étudiant correspondant à l’id_etudiant reçu.
Vérifier si le fichier existe déjà grâce à la fonction file_exists() qui Vérifie si un fichier ou un
dossier existe
Télécharger le fichier avec la methode move_uploaded_file() qui permet de Déplace un
fichier téléchargé
Syntaxe :
move_uploaded_file(string $from, string $to): bool
NB : - La liste des étudiants, l’ajout, la modification, la suppression doivent être protégés par une authentification.