Concevez votre site web avec PHP et MySQL
Première partie - Introduction1
1 Fonctionnement d'un site écrit en PHP
3
Différences entre sites statiques et dynamiques3
Comment fonctionne un site web ?4
Cas d'un site statique
5
Cas d'un site dynamique
5
Les langages du Web6
Pour un site statique : HTML et CSS
6
Pour un site dynamique : ajoutez PHP et MySQL
7
En résumé8
2 Préparer son environnement de travail
9
Outils de base pour créer un site statique9
Outils pour créer un site dynamique
10
Sous Windows ou macOS : installer MAMP 4.211
Sous Linux : installer XAMPP14
Découvrir le serveur PHP intégré16
Utiliser un bon éditeur de texte17
Visual Studio Code
18
PHPStorm
19
En résumé19
3 Écrire son premier script
21
Les balises PHP21
La forme d'une balise PHP
22
Afficher du texte24
L'instruction echo
24
Enregistrer une page PHP
26
Tester la page PHP
26
Commenter le code27
Les commentaires monolignes
27
Les commentaires multilignes
28
En résumé28
4 Configurer PHP pour visualiser les erreurs
29
Configurer PHP pour afficher les erreurs29
Localiser le fichier de configuration PHP du serveur web
30
Modifier le fichier de configuration de PHP
31
Tester l'affichage des erreurs
32
En résumé32
Deuxième partie - Les bases de PHP33
5 Les variables
35
Qu'est-ce qu'une variable ?35
Un nom et une valeur
36
Les différents types de variables
36
Affecter une valeur à une variable36
Premières manipulations de variables
36
Utiliser les types de données
37
Afficher et concaténer des variables39
Afficher le contenu d'une variable
39
Concaténer
40
Faire des calculs simples41
Les opérations de base
42
Le modulo
43
Et les autres opérations ?
43
En résumé43
6 Les conditions
45
La structure de base : if... else45
Les symboles à connaître
46
La structure if... else
46
Le cas des booléens
48
Des conditions multiples
49
L'astuce bonus
50
Une alternative pratique : switch51
Les ternaires : des conditions condensées53
En résumé54
7 Les boucles
55
Lister des éléments avec un tableau55
Une boucle simple : while56
Une boucle plus complexe : for60
Afficher des recettes61
En résumé62
8 Les tableaux
63
Les deux types de tableaux63
Les tableaux numérotés
64
Les tableaux associatifs
65
Parcourir un tableau67
La boucle for
67
La boucle foreach
68
Afficher rapidement un tableau avec print_r
71
Rechercher dans un tableau72
Vérifier si une clé existe dans le tableau : array_key_exists
72
Vérifier si une valeur existe dans le tableau : in_array
73
Récupérer la clé d'une valeur dans un tableau : array_search
73
Afficher des recettes (version 2)74
En résumé76
9 Les fonctions
77
Qu'est-ce qu'une fonction77
Dialoguer avec une fonction
78
Les fonctions en PHP
79
Les fonctions prêtes à l'emploi81
Traiter des chaînes de caractères
81
Récupérer la date et l'heure
83
Créer ses propres fonctions84
Vérifier la validité d'une recette
84
Récupérer les recettes valides
86
En résumé89
10 Au secours ! Mon script plante !
91
Les erreurs les plus courantes91
Parse error
91
undefined function
93
wrong parameter count
93
Quelques erreurs plus rares94
headers already sent by
94
L'image contient des erreurs (utilisation de la bibliothèque GD)
95
maximum execution time exceeded
95
Déboguer un premier script96
En résumé100
11 Organiser les pages en blocs fonctionnels
101
Le découpage d'une page web101
Penser le contenu en blocs fonctionnels103
Organiser le site de recettes104
En-tête
106
Pied de page
107
Corps de la page d'accueil
107
Corps de la page de contact
109
En résumé110
Troisième partie - Transmettre des données de page en page111
12 Transmettre des données avec l'URL
113
Envoyer des paramètres dans l'URL113
Former une URL pour envoyer des paramètres
113
Créer un lien avec des paramètres
114
Créer un formulaire avec la méthode HTTP GET
115
Récupérer les paramètres en PHP115
Ne jamais faire confiance aux données reçues !117
N'importe quel visiteur peut trafiquer les URL
118
Tester la présence d'un paramètre
118
Contrôler la valeur des paramètres
119
En résumé120
13 Administrer des formulaires de façon sécurisée
121
Créer la base du formulaire121
Privilégier la méthode POST pour envoyer les données du formulaire
122
Choisir la page cible du formulaire
122
Ajouter des champs input avec leur attribut name
122
Faire attention avec les champs cachés
122
Ne faites jamais confiance aux données reçues : la faille XSS123
Attention au code HTML que vous recevez !
123
Sécuriser en bloquant l'exécution de code JavaScript
124
En résumé126
14 Activer le partage de fichiers
127
Envoyer des fichiers127
Paramétrer le formulaire d'envoi de fichier
128
Traiter l'envoi en PHP
128
Tester si le fichier a bien été envoyé130
Vérifier la taille du fichier130
Vérifier l'extension du fichier131
Valider le téléversement du fichier131
En résumé132
15 Protéger une page par mot de passe
135
Poser le problème
136
Schématiser le code
136
Mobiliser les connaissances requises137
Correction137
La page identification.php
137
Coder la page index.php
138
Aller plus loin139
En résumé140
16 Sessions et cookies
141
Les sessions141
Fonctionnement
141
Mise en place d'une session
142
Les cookies144
Qu'est-ce qu'un cookie ?
144
Écrire un cookie
145
Sécuriser un cookie avec les propriétés httpOnly et secure
146
Afficher et récupérer un cookie
147
Modifier un cookie existant
147
En résumé148
Quatrième partie - Stocker des informations dans une base de données149
17 Travailler avec des bases de données
151
Le langage SQL et les bases de données151
Donner des ordres au SGBD en langage SQL
152
PHP fait la jonction entre vous et MySQL
152
Structure d'une base de données153
Enregistrer les données155
En résumé155
18 phpMyAdmin
157
Créer une table pour les recettes157
Les types de champs MySQL
161
Les clés primaires
161
Modifier une table161
Importer et exporter des données162
En résumé163
19 Accéder aux données avec PDO
165
Se connecter à la base de données en PHP165
Activer PDO
165
Se connecter à MySQL avec PDO
167
Tester la présence d'erreurs
168
Récupérer les données169
Construire notre première requête SQL169
Afficher le résultat d'une requête
170
Afficher seulement le contenu de quelques champs
171
Filtrer les données171
WHERE
171
ORDER BY
172
LIMIT
173
Construire des requêtes en fonction de variables173
Traquer les erreurs174
En résumé175
20 Écrire des données
177
INSERT INTO : ajouter des données177
UPDATE : modifier des données179
DELETE : supprimer des données179
Traiter les erreurs SQL180
En résumé181
21 Ajouter des commentaires grâce aux jointures SSL
183
Modéliser une relation183
Qu'est-ce qu'une jointure ?185
Les jointures internes186
Les jointures externes187
LEFT JOIN : récupérer toute la table de gauche
187
RIGHT JOIN : récupérer toute la table de droite
188
En résumé189
22 Aller plus loin avec les fonctions SQL
191
Utiliser une fonction scalaire SQL191
Utiliser une fonction d'agrégat SQL193
Grouper des données avec GROUP BY et HAVING195
GROUP BY : grouper des données
195
HAVING : filtrer les données regroupées
195
En résumé196
Index
197