Latest Upload :

Concevez Votre Site Web Avec Php Et Mysql

Concevez Votre Site Web Avec Php Et Mysql

 

 


Sommaire

Avant-prop os i
PHP et My SQL, les outils du web dynamique. . . . . . . . . . . . . . . . . . ii
Qu'allez-vous apprendre en lisant ce livre ?. . . . . . . . . . . . . . . . . . . ii
Comment lire ce livre ?. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . iii
Ce livre est issu du Site du Zéro . . . . . . . . . . . . . . . . . . . . . . . . . iv
Remerciements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . iv
I Les bases de PHP 1
1 Intro duction à PHP 3
Les sites s tatiques et dynamiques. . . . . . . . . . . . . . . . . . . . . . . . . 4
Comment fonctionne un site web ? . . . . . . . . . . . . . . . . . . . . . . . . 5
Les langages du Web. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
Et la concurrence ?. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
2 Préparer son ordinateur 13
De quels p rogr ammes a-t-on b esoin ?. . . . . . . . . . . . . . . . . . . . . . . 14
Sous Windows : WAMP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
Sous Mac O S X : MAMP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
Sous Linux : XAMPP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
Utiliser un b on éditeur de chiers. . . . . . . . . . . . . . . . . . . . . . . . . 26
3 Premiers pas avec PHP 33
Les balises PHP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
A cher du texte. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
Les commentaires. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
 Inclure des p ortions de page 43
Le princip e . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
La pratique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
 Les variables 49
Qu'est-ce qu'une variable ?. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
A ecter une valeur à une variable. . . . . . . . . . . . . . . . . . . . . . . . . 52
A cher et concaténer des variables. . . . . . . . . . . . . . . . . . . . . . . . 55
Faire des calculs simples. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
 Les conditions 61
La structure de base : if. . . else . . . . . . . . . . . . . . . . . . . . . . . . . . 62
Une alternative pratique :switch. . . . . . . . . . . . . . . . . . . . . . . . . 68
Les ternaires : des conditions condensées. . . . . . . . . . . . . . . . . . . . . 71
 Les b oucles 73
Une b oucle simple :while. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74
Une b oucle plus complexe :for. . . . . . . . . . . . . . . . . . . . . . . . . . 76
 Les fonctions 79
Qu'est-ce qu'une fonction ? . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80
Les fonctions prêtes à l'emploi de PHP. . . . . . . . . . . . . . . . . . . . . . 83
Créer ses p ropres fonctions . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87
 Les tableaux 91
Les deux typ es de tableaux . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92
Parcourir un tableau. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95
Rechercher dans un tableau. . . . . . . . . . . . . . . . . . . . . . . . . . . . 98
 Transmettre des données de page en page 103
 Transmettre des données avec l'URL 105
Envoyer des paramètr es dans l'URL . . . . . . . . . . . . . . . . . . . . . . . 106
Récup érer les paramètres en PHP . . . . . . . . . . . . . . . . . . . . . . . . 107
Ne faites jamais con ance aux données reçues ! . . . . . . . . . . . . . . . . . 108
11 Transmettre des données avec les formulaires 117
Créer la base du formulaire . . . . . . . . . . . . . . . . . . . . . . . . . . . . 118
Les éléments du formulaire . . . . . . . . . . . . . . . . . . . . . . . . . . . . 120
Ne faites jamais con ance aux données reçues : la faille XSS. . . . . . . . . . 125
L'envoi de chiers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 130
12 TP : page protégée par mot de passe 137
Instructions p our réaliser le TP . . . . . . . . . . . . . . . . . . . . . . . . . . 138
Correction. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 140
Aller plus loin. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 142
13 Variables sup erglobales, session s et co okies 145
Les variables sup erglobales . . . . . . . . . . . . . . . . . . . . . . . . . . . . 146
Les sessions. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 147
Les co okies . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 151
14 Lire et écrire dans un chier 157
Autoriser l'écriture de chiers (chmod) . . . . . . . . . . . . . . . . . . . . . . 158
Ouvrir et fermer un chier. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 159
Lire et écrire d ans un chier. . . . . . . . . . . . . . . . . . . . . . . . . . . . 161
I I I Sto cker des informations dans une base de données 165
15 Présentation des bases de données 167
Le langage SQL et les bases de données . . . . . . . . . . . . . . . . . . . . . 168
Structure d'une base de données . . . . . . . . . . . . . . . . . . . . . . . . . 170
Mais où sont enregistrées les données ?. . . . . . . . . . . . . . . . . . . . . . 172
16 phpMyAdmin 173
Créer une table. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 174
Mo di er une table. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 178
Autres op érations. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 180
17 Lire des données 187
Se connecter à la base de données en PHP. . . . . . . . . . . . . . . . . . . . 188
Récup érer les données . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 192
Les critères de sélection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 198
Construire des requêtes en fonction de variables. . . . . . . . . . . . . . . . . 202
Traquer les erreurs. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 205
18 Écrire des données 209
INSERT: a jouter des données . . . . . . . . . . . . . . . . . . . . . . . . . . . 210
UPDATE: mo di er des données . . . . . . . . . . . . . . . . . . . . . . . . . . . 213
DELETE: supprimer des données . . . . . . . . . . . . . . . . . . . . . . . . . . 215
19 TP : un mini-chat 217
Instructions p our réaliser le TP . . . . . . . . . . . . . . . . . . . . . . . . . . 218
Correction. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 221
Aller plus loin. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 224
20 Les fonctions SQL 225
Les fonctions scalaires . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 226
Les fonctions d'agrégat. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 230
GROUP BYetHAVING: le group ement d e données . . . . . . . . . . . . . . . . 234
21 Les dates en SQL 237
Les champs de typ edate . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 238
Les fonctions de gestion des dates. . . . . . . . . . . . . . . . . . . . . . . . . 240
22 TP : un blog avec des commentaires 243
Instructions p our réaliser le TP . . . . . . . . . . . . . . . . . . . . . . . . . . 244
Correction. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 248
Aller plus loin. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 252
23 Les jointures entre tables 257
Mo délisation d'une relation. . . . . . . . . . . . . . . . . . . . . . . . . . . . 258
Qu'est-ce qu'une jointure ?. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 260
Les jointures internes. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 262
Les jointures externes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 265
IV Utilisation avancée de PHP 269
24 Créer des images en PHP 271
Activer la bibliothèque GD . . . . . . . . . . . . . . . . . . . . . . . . . . . . 272
Les bases de la création d'image . . . . . . . . . . . . . . . . . . . . . . . . . 272
Texte et couleur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 277
Dessiner une f or me. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 280
Des fonctions encore plus puissantes . . . . . . . . . . . . . . . . . . . . . . . 283
25 Les expressions régulières (partie 1/2) 291
Où utiliser u ne regex ?. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 292
Des recherches simples. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 293
Les classes de caractèr es. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 296
Les quanti cateurs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 299
26 Les expressions régulières (partie 2/2) 303
Une histoire de métacaractères . . . . . . . . . . . . . . . . . . . . . . . . . . 304
Les classes abrégées . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 305
Construire une regex complète . . . . . . . . . . . . . . . . . . . . . . . . . . 306
Capture et remplacement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 312
27 La programmation orientée ob jet 319
Qu'est-ce qu'un ob jet ?. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 320
Créer une classe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 325
Créer un ob jet à partir de la classe. . . . . . . . . . . . . . . . . . . . . . . . 329
Constructeur, destructeur et autres fonctions sp éciales. . . . . . . . . . . . . 331
L'héritage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 333
Les droits d'accès et l'encapsulation . . . . . . . . . . . . . . . . . . . . . . . 336
28 Organiser son co de selon l'architecture MVC 339
Qu'est-ce que l'archit ecture MVC ?. . . . . . . . . . . . . . . . . . . . . . . . 340
Le co de du TP blog et ses défauts . . . . . . . . . . . . . . . . . . . . . . . . 342
Amélioration du TP blog en resp ectant l'architecture MVC . . . . . . . . . . 344
Aller plus loin : lesframeworks MVC. . . . . . . . . . . . . . . . . . . . . . . 349
29 TP : créer un esp ace membres 351
Conception de l'espace membres . . . . . . . . . . . . . . . . . . . . . . . . . 352
Réalisation des pages principales de l'espace membres . . . . . . . . . . . . . 355
Aller plus loin. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 360
V Annexes 361
A Co dez proprement 363
Des noms clairs. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 364
Indentez votre co de. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 366
Un co de correctement commenté . . . . . . . . . . . . . . . . . . . . . . . . . 367
B Utilisez la do cumentation PHP ! 371
Accéder à la do c'. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 372
Présentation d'une fonction . . . . . . . . . . . . . . . . . . . . . . . . . . . . 374
C Au secours ! Mon script plante ! 379
Les erreurs les plus courantes . . . . . . . . . . . . . . . . . . . . . . . . . . . 380
Traiter les erreurs SQL. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 382
Quelques erreurs plus rares . . . . . . . . . . . . . . . . . . . . . . . . . . . . 383
D Protéger un dossier avec un .htaccess 387
Créer le .htaccess. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 388
Créer le .htpasswd . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 389
Envoyer les chiers sur le serveur. . . . . . . . . . . . . . . . . . . . . . . . . 391
E Mémento des expressions régulières 393
Structure d'une r egex . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 394
Classes de caractères. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 394
Quanti cateurs. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 394
Métacaractères. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 395
Classes abrégées . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 395
Capture et r emplacement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 396
Options. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 396


Download

Share this article :

Enregistrer un commentaire

 
Support :