0% ont trouvé ce document utile (0 vote)
3 vues17 pages

TD PHP

Ce document présente la correction détaillée d'exercices de PHP pour le cours de Technologies Web Backend de l'année universitaire 2024-2025. Il couvre divers sujets tels que la manipulation de chaînes, les tableaux, la programmation orientée objet, la sécurité des formulaires, ainsi que l'interaction avec des bases de données MySQL. Chaque section inclut des objectifs, des exemples de code et des bonnes pratiques pour aider les étudiants à comprendre et appliquer les concepts abordés.

Transféré par

ghzaoui929
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
3 vues17 pages

TD PHP

Ce document présente la correction détaillée d'exercices de PHP pour le cours de Technologies Web Backend de l'année universitaire 2024-2025. Il couvre divers sujets tels que la manipulation de chaînes, les tableaux, la programmation orientée objet, la sécurité des formulaires, ainsi que l'interaction avec des bases de données MySQL. Chaque section inclut des objectifs, des exemples de code et des bonnes pratiques pour aider les étudiants à comprendre et appliquer les concepts abordés.

Transféré par

ghzaoui929
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

Correction Complète des Exercices PHP

Technologies Web Backend – Série 1


Correction pédagogique détaillée
Année Universitaire 2024-2025

Table des matières

1 Exercice 1 – Manipulation de chaînes et expressions régulières 3


1.1 Objectif général . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.2 Question 1 – Affichage sécurisé du HTML . . . . . . . . . . . . . . . . . . 3
1.3 Question 2 – Vérification de présence d’une chaîne . . . . . . . . . . . . . . 3
1.4 Question 3 – Validation d’une URL . . . . . . . . . . . . . . . . . . . . . . 4
1.5 Question 4 – Validation d’une adresse e-mail . . . . . . . . . . . . . . . . . 4
1.6 Question 5 – Remplacement des balises br . . . . . . . . . . . . . . . . . . 5

2 Exercice 2 – Tableaux en PHP 5


2.1 Question 1 – Tableau associatif des notes . . . . . . . . . . . . . . . . . . . 5
2.2 Question 2 – Tableau multidimensionnel . . . . . . . . . . . . . . . . . . . 6
2.3 Question 3 – Tableau multidimensionnel avec plusieurs champs . . . . . . . 6
2.4 Question 4 – Parcours avec foreach . . . . . . . . . . . . . . . . . . . . . . 7

3 Exercice 3 – Programmation Orientée Objet en PHP 7


3.1 Objectif général . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
3.2 Classe Employe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
3.3 Classe Manager . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
3.4 Utilisation des classes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9

4 Exercice 4 – Formulaire HTML et sécurité 9


4.1 Question 1 – Création du formulaire . . . . . . . . . . . . . . . . . . . . . . 9
4.2 Question 2 – Validation côté serveur . . . . . . . . . . . . . . . . . . . . . 10
4.3 Question 3 – Protection XSS . . . . . . . . . . . . . . . . . . . . . . . . . . 10
4.4 Question 4 – Utilisation des sessions . . . . . . . . . . . . . . . . . . . . . . 11
4.5 Question 5 – Utilisation des cookies . . . . . . . . . . . . . . . . . . . . . . 11

5 Exercice 5 – Base de données MySQL et PDO 12


5.1 Question 1 – Connexion PDO . . . . . . . . . . . . . . . . . . . . . . . . . 12
5.2 Question 2 – Création de la base de données . . . . . . . . . . . . . . . . . 12
5.3 Question 3 – Création de la table . . . . . . . . . . . . . . . . . . . . . . . 12
5.4 Question 4 – Insertion des données . . . . . . . . . . . . . . . . . . . . . . 13
5.5 Question 5 – Affichage des données . . . . . . . . . . . . . . . . . . . . . . 13

1
Correction – Technologies Web Backend PHP

5.6 Question 6 – Ajouter une colonne . . . . . . . . . . . . . . . . . . . . . . . 13


5.7 Question 7 – Sélection d’une colonne . . . . . . . . . . . . . . . . . . . . . 14
5.8 Question 8 – Mise à jour . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
5.9 Question 9 – Suppression . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14

6 Exercice 6 – Manipulation de fichiers et images 14


6.1 Question 1 – Création et lecture d’un fichier . . . . . . . . . . . . . . . . . 14
6.2 Question 2 – Formulaire d’upload . . . . . . . . . . . . . . . . . . . . . . . 15
6.3 Question 3 – Upload du fichier . . . . . . . . . . . . . . . . . . . . . . . . . 15
6.4 Question 4 – Redimensionnement d’image . . . . . . . . . . . . . . . . . . 16
6.5 Question 5 – Suppression d’un fichier . . . . . . . . . . . . . . . . . . . . . 16

7 Conclusion 17

2
Correction – Technologies Web Backend PHP

1 Exercice 1 – Manipulation de chaînes et expressions


régulières
1.1 Objectif général
Cet exercice introduit les fonctions de manipulation de chaînes en PHP ainsi que les
expressions régulières. L’objectif est de comprendre comment traiter du texte, valider des
formats et remplacer certains caractères.

1.2 Question 1 – Affichage sécurisé du HTML


Objectif : Afficher une chaîne HTML sans qu’elle soit interprétée par le navigateur.

Solution PHP

2 <? php
3 // Texte contenant une balise HTML
4 $texte = " <h1 > Bonjour mes amis ! </ h1 > " ;
5

6 // htmlspecialchars () convertit les c a r a c t r e s s p c i a u x HTML


7 echo htmlspecialchars ( $texte ) ;
8 ?>

Résultat attendu
<h1> Bonjour mes amis!</h1>

Remarque
La fonction htmlspecialchars() est très importante pour éviter les attaques XSS.

1.3 Question 2 – Vérification de présence d’une chaîne


Objectif : Vérifier si une sous-chaîne existe dans une autre chaîne.
1

2 <? php
3 $phrase = " Bienvenue dans le cours PHP " ;
4 $mot = " cours " ;
5

6 // strpos retourne la position du mot r e c h e r c h


7 if ( strpos ( $phrase , $mot ) !== false ) {
8 echo " Le mot existe dans la phrase . " ;
9 } else {
10 echo " Le mot n ’ existe pas . " ;
11 }
12 ?>

3
Correction – Technologies Web Backend PHP

Erreur fréquente
Ne pas utiliser seulement :
1 if ( strpos ( $phrase , $mot ) )
Car si le mot est trouvé à la position 0, la condition sera fausse.

1.4 Question 3 – Validation d’une URL


Objectif : Vérifier qu’une URL commence par HTTP, HTTPS ou FTP.
1

2 <? php
3 function verifierURL ( $url )
4 {
5 $pattern = " /^( https ?| ftp ) :\/\/[^\ s \/ $ .?#].[^\ s ]* $ / i " ;
6

7 if ( preg_match ( $pattern , $url ) ) {


8 return " URL valide " ;
9 }
10

11 return " URL invalide " ;


12 }
13

14 // Test
15 $url = " https :// www . example . com " ;
16 echo verifierURL ( $url ) ;
17 ?>

Explication
— : dbutdechane.
— https? : accepte http ou https.
— ftp : accepte ftp.
— pregm atch() : vrif iesilemodleexiste.

1.5 Question 4 – Validation d’une adresse e-mail


Objectif : Vérifier qu’une adresse e-mail est valide.
1

2 <? php
3 function verifierEmail ( $email )
4 {
5 if ( filter_var ( $email , FILTER_VALIDATE_EMAIL ) ) {
6 return " Adresse valide " ;
7 }
8

9 return " Adresse invalide " ;


10 }
11

12 $email = " test@gmail . com " ;

4
Correction – Technologies Web Backend PHP

13 echo verifierEmail ( $email ) ;


14 ?>

Bonne pratique
Toujours utiliser filterv ar()pourlesvalidationssimples.

1.6 Question 5 – Remplacement des balises br


Objectif : Remplacer les balises <br> par des retours à la ligne.
1

2 <? php
3 $texte = " Bonjour < br > Comment allez - vous ? < br > Bienvenue " ;
4

5 // Remplacement des balises <br >


6 $resultat = preg_replace ( " / < br \ s *\/? >/ i " , " \ n " , $texte ) ;
7

8 echo nl2br ( $resultat ) ;


9 ?>

Alternative simple

2 <? php
3 $resultat = str_replace ( " <br > " , " \ n " , $texte ) ;
4 ?>

2 Exercice 2 – Tableaux en PHP


2.1 Question 1 – Tableau associatif des notes
Objectif : Manipuler un tableau associatif et effectuer plusieurs tris.
1

2 <? php
3 $notes = [
4 " Ahmed " = > 15 ,
5 " Sara " = > 18 ,
6 " Yassine " = > 12 ,
7 " Imane " = > 17
8 ];
9

10 // Tri croissant des notes


11 asort ( $notes ) ;
12

13 echo " Tri croissant : <br > " ;


14 foreach ( $notes as $nom = > $note ) {
15 echo " $nom : $note <br > " ;
16 }

5
Correction – Technologies Web Backend PHP

17

18 // Tri d c r o i s s a n t
19 arsort ( $notes ) ;
20

21 echo " <br > Tri d c r o i s s a n t : <br > " ;


22 foreach ( $notes as $nom = > $note ) {
23 echo " $nom : $note <br > " ;
24 }
25

26 // Tri a l p h a b t i q u e
27 ksort ( $notes ) ;
28

29 echo " <br > Tri a l p h a b t i q u e : <br > " ;


30 foreach ( $notes as $nom = > $note ) {
31 echo " $nom : $note <br > " ;
32 }
33 ?>

Fonctions importantes
— asort() : tri croissant selon les valeurs.
— arsort() : tri décroissant.
— ksort() : tri selon les clés.

2.2 Question 2 – Tableau multidimensionnel


Objectif : Créer un tableau contenant plusieurs informations sur des personnes.
1

2 <? php
3 $personnes = [
4 " Ahmed " = > [ " prenom " = > " Ahmed " , " ville " = > " Meknes " , " age " = >
22] ,
5 " Sara " = > [ " prenom " = > " Sara " , " ville " = > " Rabat " , " age " = >
20] ,
6 " Yassine " = > [ " prenom " = > " Yassine " , " ville " = > " Fes " , " age " = >
24]
7 ];
8

9 print_r ( $personnes ) ;
10 ?>

2.3 Question 3 – Tableau multidimensionnel avec plusieurs champs

2 <? php
3 $etudiants = [
4 " etudiant1 " = > [
5 " nom " = > " Alami " ,
6 " prenom " = > " Ahmed " ,

6
Correction – Technologies Web Backend PHP

7 " ville " = > " Casablanca " ,


8 " age " = > 21
9 ],
10

11 " etudiant2 " = > [


12 " nom " = > " Karimi " ,
13 " prenom " = > " Sara " ,
14 " ville " = > " Tanger " ,
15 " age " = > 23
16 ]
17 ];
18

19 print_r ( $etudiants ) ;
20 ?>

2.4 Question 4 – Parcours avec foreach

2 <? php
3 foreach ( $etudiants as $cle = > $infos ) {
4

5 echo " Etudiant : " . $cle . " <br > " ;


6 echo " Nom : " . $infos [ ’ nom ’] . " <br > " ;
7 echo " P r n o m : " . $infos [ ’ prenom ’] . " <br > " ;
8 echo " Ville : " . $infos [ ’ ville ’] . " <br > " ;
9 echo " Age : " . $infos [ ’ age ’] . " <br > < br > " ;
10 }
11 ?>

3 Exercice 3 – Programmation Orientée Objet en PHP


3.1 Objectif général
Comprendre l’héritage, les classes, les constructeurs et la redéfinition
des méthodes.

3.2 Classe Employe

2 <? php
3 class Employe
4 {
5 protected $nom ;
6 protected $poste ;
7 protected $salaire ;
8

9 // Constructeur
10 public function __construct ( $nom , $poste , $salaire )

7
Correction – Technologies Web Backend PHP

11 {
12 $this - > nom = $nom ;
13 $this - > poste = $poste ;
14 $this - > salaire = $salaire ;
15 }
16

17 // M t h o d e d ’ affichage
18 public function afficherInfo ()
19 {
20 echo " Nom : " . $this - > nom . " <br > " ;
21 echo " Poste : " . $this - > poste . " <br > " ;
22 echo " Salaire : " . $this - > salaire . " DH < br > " ;
23 }
24 }
25 ?>

3.3 Classe Manager

2 <? php
3 class Manager extends Employe
4 {
5 private $equipe = [];
6

7 public function __construct ( $nom , $poste , $salaire )


8 {
9 parent :: __construct ( $nom , $poste , $salaire ) ;
10 }
11

12 // Ajouter un e m p l o y l ’ quipe
13 public function ajouterEmploye ( $employe )
14 {
15 $this - > equipe [] = $employe ;
16 }
17

18 // R e d f i n i t i o n de la m t h o d e afficherInfo
19 public function afficherInfo ()
20 {
21 parent :: afficherInfo () ;
22

23 echo " Equipe : <br > " ;


24

25 foreach ( $this - > equipe as $employe ) {


26 echo " - " . $employe . " <br > " ;
27 }
28 }
29 }
30 ?>

8
Correction – Technologies Web Backend PHP

3.4 Utilisation des classes

2 <? php
3 $emp1 = new Employe ( " Ahmed " , " D v e l o p p e u r " , 8000) ;
4 $emp2 = new Employe ( " Sara " , " Designer " , 7000) ;
5

6 $manager = new Manager ( " Karim " , " Chef de projet " , 15000) ;
7

8 $manager - > ajouterEmploye ( " Ahmed " ) ;


9 $manager - > ajouterEmploye ( " Sara " ) ;
10

11 echo " <h2 > Informations du manager </ h2 > " ;


12 $manager - > afficherInfo () ;
13 ?>

Concepts appris
— Héritage avec extends.
— Encapsulation.
— Constructeurs.
— Redéfinition des méthodes.

4 Exercice 4 – Formulaire HTML et sécurité


4.1 Question 1 – Création du formulaire

2 <! DOCTYPE html >


3

4 < html >


5 < head >
6 < meta charset = " UTF -8 " >
7 < title > Formulaire </ title >
8 </ head >
9 < body >
10

11 < form method = " POST " action = " traitement . php " >
12

13 ‘‘‘
14 Nom :
15 < input type = " text " name = " nom " required >
16 <br > < br >
17

18 Age :
19 < input type = " number " name = " age " required >
20 <br > < br >
21

9
Correction – Technologies Web Backend PHP

22 Email :
23 < input type = " email " name = " email " required >
24 <br > < br >
25

26 < button type = " submit " > Envoyer </ button >
27 ‘‘‘
28

29 </ form >


30

31 </ body >


32 </ html >

4.2 Question 2 – Validation côté serveur

2 <? php
3 if ( $_SERVER [ ’ REQUEST_METHOD ’] == ’ POST ’) {
4

5 // trim supprime les espaces inutiles


6 $nom = trim ( $_POST [ ’ nom ’ ]) ;
7 $age = trim ( $_POST [ ’ age ’ ]) ;
8 $email = trim ( $_POST [ ’ email ’ ]) ;
9

10 // Validation
11 if ( empty ( $nom ) || empty ( $age ) || empty ( $email ) ) {
12 echo " Tous les champs sont obligatoires . " ;
13 exit ;
14 }
15

16 if ( $age < 0 || $age > 120) {


17 echo " Age invalide . " ;
18 exit ;
19 }
20

21 if (! filter_var ( $email , FILTER_VALIDATE_EMAIL ) ) {


22 echo " Email invalide . " ;
23 exit ;
24 }
25

26 echo " Validation r u s s i e . " ;


27 }
28 ?>

4.3 Question 3 – Protection XSS

2 <? php
3 $nom = htmlspecialchars ( $_POST [ ’ nom ’ ]) ;
4 $email = htmlspecialchars ( $_POST [ ’ email ’ ]) ;

10
Correction – Technologies Web Backend PHP

6 echo " Bienvenue " . $nom ;


7 ?>

Pourquoi ?
La fonction htmlspecialchars() empêche l’exécution de code JavaScript injecté.

4.4 Question 4 – Utilisation des sessions

2 <? php
3 session_start () ;
4

5 $_SESSION [ ’ utilisateur ’] = " Ahmed " ;


6

7 echo " Session c r e avec s u c c s . " ;


8 ?>

Lecture de la session

2 <? php
3 session_start () ;
4

5 echo $_SESSION [ ’ utilisateur ’ ];


6 ?>

4.5 Question 5 – Utilisation des cookies

2 <? php
3 // Cookie valable 24 heures
4 setcookie ( " utilisateur " , " Ahmed " , time () + 86400) ;
5

6 if ( isset ( $_COOKIE [ ’ utilisateur ’ ]) ) {


7 echo " Bienvenue " . $_COOKIE [ ’ utilisateur ’ ];
8 }
9 ?>

Attention
Les cookies doivent être créés avant tout affichage HTML.

11
Correction – Technologies Web Backend PHP

5 Exercice 5 – Base de données MySQL et PDO


5.1 Question 1 – Connexion PDO

2 <? php
3 $host = " localhost " ;
4 $dbname = " gestion_users " ;
5 $user = " root " ;
6 $password = " " ;
7

8 try {
9 $pdo = new PDO (
10 " mysql : host = $host ; dbname = $dbname ; charset = utf8 " ,
11 $user ,
12 $password
13 );
14

15 $pdo - > setAttribute ( PDO :: ATTR_ERRMODE , PDO :: ERRMODE_EXCEPTION ) ;


16

17 echo " Connexion r u s s i e " ;


18

19 } catch ( PDOException $e ) {
20 echo " Erreur : " . $e - > getMessage () ;
21 }
22 ?>

5.2 Question 2 – Création de la base de données

2 <? php
3 $sql = " CREATE DATABASE gestion_users " ;
4 $pdo - > exec ( $sql ) ;
5 ?>

5.3 Question 3 – Création de la table

2 <? php
3 $sql = " CREATE TABLE utilisateurs (
4 id INT AUTO_INCREMENT PRIMARY KEY ,
5 nom VARCHAR (100) NOT NULL ,
6 email VARCHAR (150) UNIQUE NOT NULL
7 )";
8

9 $pdo - > exec ( $sql ) ;


10 ?>

12
Correction – Technologies Web Backend PHP

5.4 Question 4 – Insertion des données

2 <? php
3 $sql = " INSERT INTO utilisateurs ( nom , email )
4 VALUES (: nom , : email ) " ;
5

6 $requete = $pdo - > prepare ( $sql ) ;


7

8 $requete - > execute ([


9 ’: nom ’ = > ’ Ahmed ’ ,
10 ’: email ’ = > ’ ahmed@gmail . com ’
11 ]) ;
12

13 $requete - > execute ([


14 ’: nom ’ = > ’ Sara ’ ,
15 ’: email ’ = > ’ sara@gmail . com ’
16 ]) ;
17 ?>

Bonne pratique
Toujours utiliser des requêtes préparées pour éviter les injections SQL.

5.5 Question 5 – Affichage des données

2 <? php
3 $sql = " SELECT * FROM utilisateurs " ;
4 $resultat = $pdo - > query ( $sql ) ;
5

6 foreach ( $resultat as $ligne ) {


7 echo $ligne [ ’ id ’] . " - " ;
8 echo $ligne [ ’ nom ’] . " - " ;
9 echo $ligne [ ’ email ’] . " <br > " ;
10 }
11 ?>

5.6 Question 6 – Ajouter une colonne

2 <? php
3 $sql = " ALTER TABLE utilisateurs ADD age INT " ;
4 $pdo - > exec ( $sql ) ;
5 ?>

13
Correction – Technologies Web Backend PHP

5.7 Question 7 – Sélection d’une colonne

2 <? php
3 $sql = " SELECT nom FROM utilisateurs " ;
4 $resultat = $pdo - > query ( $sql ) ;
5

6 foreach ( $resultat as $ligne ) {


7 echo $ligne [ ’ nom ’] . " <br > " ;
8 }
9 ?>

5.8 Question 8 – Mise à jour

2 <? php
3 $sql = " UPDATE utilisateurs SET age = : age WHERE id = : id " ;
4

5 $requete = $pdo - > prepare ( $sql ) ;


6

7 $requete - > execute ([


8 ’: age ’ = > 25 ,
9 ’: id ’ = > 1
10 ]) ;
11 ?>

5.9 Question 9 – Suppression

2 <? php
3 $sql = " DELETE FROM utilisateurs WHERE id = : id " ;
4

5 $requete = $pdo - > prepare ( $sql ) ;


6

7 $requete - > execute ([


8 ’: id ’ = > 2
9 ]) ;
10 ?>

6 Exercice 6 – Manipulation de fichiers et images


6.1 Question 1 – Création et lecture d’un fichier

2 <? php
3 $fichier = fopen ( " mon_fichier . txt " , " w " ) ;
4

14
Correction – Technologies Web Backend PHP

5 fwrite ( $fichier , " Bienvenue dans l ’ apprentissage des fichiers en


PHP . " ) ;
6

7 fclose ( $fichier ) ;
8

9 // Lecture du fichier
10 $contenu = file_get_contents ( " mon_fichier . txt " ) ;
11

12 echo $contenu ;
13 ?>

6.2 Question 2 – Formulaire d’upload

2 <! DOCTYPE html >


3

4 < html >


5 < body >
6

7 < form action = " upload . php " method = " POST " enctype = " multipart / form -
data " >
8

9 ‘‘‘
10 < input type = " file " name = " fichier " >
11 < button type = " submit " > Uploader </ button >
12 ‘‘‘
13

14 </ form >


15

16 </ body >


17 </ html >

6.3 Question 3 – Upload du fichier

2 <? php
3 $destination = " uploads / " . basename ( $_FILES [ ’ fichier ’ ][ ’ name ’ ]) ;
4

5 if ( move_uploaded_file ( $_FILES [ ’ fichier ’ ][ ’ tmp_name ’] , $destination


)) {
6 echo " Fichier u p l o a d avec s u c c s . " ;
7 } else {
8 echo " Erreur lors de l ’ upload . " ;
9 }
10 ?>

15
Correction – Technologies Web Backend PHP

6.4 Question 4 – Redimensionnement d’image


Hypothèse : L’exercice ne précise pas la bibliothèque utilisée. Nous utiliserons
GD.
1

2 <? php
3 $source = imagecreatefromjpeg ( " image . jpg " ) ;
4

5 $largeur = imagesx ( $source ) ;


6 $hauteur = imagesy ( $source ) ;
7

8 $nouvLargeur = 300;
9 $nouvHauteur = 300;
10

11 $imageFinale = imagecreatetruecolor ( $nouvLargeur , $nouvHauteur ) ;


12

13 imagecopyresampled (
14 $imageFinale ,
15 $source ,
16 0,
17 0,
18 0,
19 0,
20 $nouvLargeur ,
21 $nouvHauteur ,
22 $largeur ,
23 $hauteur
24 );
25

26 imagejpeg ( $imageFinale , " image_resizee . jpg " ) ;


27

28 echo " Image r e d i m e n s i o n n e avec s u c c s . " ;


29 ?>

6.5 Question 5 – Suppression d’un fichier

2 <? php
3 if ( isset ( $_POST [ ’ nom_fichier ’ ]) ) {
4

5 $fichier = " uploads / " . $_POST [ ’ nom_fichier ’ ];


6

7 if ( file_exists ( $fichier ) ) {
8

9 unlink ( $fichier ) ;
10 echo " Fichier s u p p r i m . " ;
11

12 } else {
13 echo " Fichier introuvable . " ;
14 }

16
Correction – Technologies Web Backend PHP

15 }
16 ?>

Formulaire HTML

2 < form method = " POST " >


3

4 ‘‘‘
5 < input type = " text " name = " nom_fichier " placeholder = " Nom du fichier " >
6

7 < button type = " submit " > Supprimer </ button >
8 ‘‘‘
9

10 </ form >

7 Conclusion
Cette série d’exercices couvre les notions fondamentales du développement
backend avec PHP :
— Manipulation des chaînes.
— Expressions régulières.
— Tableaux.
— Programmation orientée objet.
— Formulaires HTML.
— Sécurité web.
— Sessions et cookies.
— Connexion MySQL avec PDO.
— Manipulation de fichiers.
— Upload et traitement d’images.
Pour progresser en PHP, il est conseillé de pratiquer régulièrement et de
toujours appliquer les bonnes pratiques de sécurité.

17

Vous aimerez peut-être aussi