Introduction 1. Objectif de l'ouvrage 9 2. Bref historique de PHP 10 3. Où se procurer PHP? 10 4. Conventions d'écriture 12 Vue d'ensemble de PHP 1. Qu'est-ce que PHP? 13 2. Structure de base d'une page PHP 15 2.1 Les balises PHP 15 2.2 La fonction echo 15 2.3 Le séparateur d'instructions 17 2.4 Le commentaire 17 2.5 Mixer du PHP et de l'html 18 2.6 Règles de nommage 21 3. Configuration de PHP 21 3.1 Le fichier de configuration php.ini 21 3.2 Informations sur la configuration 22 4. Utiliser PHP en ligne de commande 25 Variables, constantes, types et tableaux 1/9
1. Constantes 27 1.1 Définition 27 1.2 Portée 28 1.3 Fonctions utiles 29 2. Variables 31 2.1 Initialisation et affectation 31 2.2 Portée et durée de vie 32 2.3 Fonctions utiles 33 2.4 Variable dynamique (ou variable variable) 39 3. Types de données 39 3.1 Types disponibles 39 3.2 Conversions 46 3.3 Fonctions utiles 50 4. Tableaux 55 4.1 Définition 55 4.2 Création 56 4.3 Manipulation 61 4.4 Portée 65 4.5 Fonctions utiles 65 5. Quelques fonctions utiles sur les chaînes de caractères, les dates et les nombres 75 5.1 Préambule 75 5.2 Manipulation des chaînes de caractères 75 5.3 Utiliser les expressions rationnelles 90 5.3.1 Introduction 90 5.3.2 Structure d une expression rationnelle 91 5.3.3 Fonctions 100 5.4 Manipulation des dates 105 5.5 Générer un nombre aléatoire 118 2/9
Opérateurs 1. L'opérateur d'affectation par valeur 119 2. L'opérateur d'affectation par référence 120 3. Les opérateurs arithmétiques 122 4. L'opérateur de chaîne 123 5. Les opérateurs de comparaison 123 6. Les opérateurs logiques 124 7. L'opérateur ternaire 125 8. Les opérateurs combinés 126 9. Précédence des opérateurs 126 Structures de contrôle 1. Les contrôles conditionnels 127 1.1 If 127 1.2 Switch 130 2. Les contrôles itératifs 132 2.1 While 132 2.2 Do... while 134 2.3 For 135 2.4 Continue et break 138 3/9
3. Inclure un fichier 139 3.1 Fonctionnement 139 3.2 Utilisation 141 4. Interrompre le script 143 Fonctions et classes 1. Fonctions 145 1.1 Introduction 145 1.2 Déclaration et appel 145 1.3 Paramètres 149 1.4 Valeur de retour 153 1.5 Considérations sur les variables utilisées dans les fonctions 154 1.6 Les constantes et les fonctions 157 1.7 Récursivité 158 1.8 Fonction anonyme 160 2. Classes 161 2.1 Concept 161 2.2 Définir une classe 162 2.3 Instancier une classe 165 2.4 Héritage 167 2.5 Autres fonctionnalités sur les classes 169 2.5.1 Classe ou méthode abstraite 169 2.5.2 Classe ou méthode finale 170 2.5.3 Interface 171 2.5.4 Attribut ou méthode statique - Constante de classe 172 2.5.5 Traits 174 2.6 Exceptions 176 3. Les espaces de noms 178 4/9
Gérer les formulaires 1. Vue d'ensemble 183 1.1 Petit rappel sur les formulaires 183 1.2 Interaction entre un formulaire et un script PHP 186 2. Récupérer les données saisies dans le formulaire 191 2.1 Principe 191 2.2 Les différents types de zones 195 2.3 Synthèse 207 3. Construire un formulaire dynamiquement 209 4. Contrôler les données saisies 214 4.1 Vue d'ensemble 214 4.2 Vérifications classiques 214 5. Les problèmes sur les données saisies 219 5.1 La fonctionnalité de "magic quotes" 219 5.2 Autres problèmes sur les données saisies 220 6. Utilisation des filtres 227 6.1 Principes 227 6.2 Application aux formulaires 236 7. Aller sur une autre page à la fin du traitement 238 Accéder aux bases de données 1. Introduction 245 1.1 Vue d'ensemble 245 1.2 La notion de fetch 247 5/9
2. Utilisation de MySQL 248 2.1 Préambule 248 2.2 Connexion et déconnexion 249 2.3 Lire des données 251 2.4 Mettre à jour des données 271 2.5 Gérer les erreurs 278 2.6 Requêtes préparées 282 2.6.1 Vue d ensemble 282 2.6.2 Préparer une requête 284 2.6.3 Lier des variables PHP aux paramètres de la requête 285 2.6.4 Exécuter la requête 286 2.6.5 Obtenir des informations sur le résultat d'une requête de mise à jour 287 2.6.6 Lier des variables PHP aux colonnes du résultat d'une requête de lecture 289 2.6.7 Extraire le résultat d'une requête de lecture 291 2.6.8 Utiliser un résultat stocké 292 2.6.9 Gérer les erreurs 295 2.6.10 Fermer une requête préparée 296 2.7 Utilisation de l extension MySQL 297 3. Utilisation d'oracle 300 3.1 Préambule 300 3.2 Environnement NLS 301 3.3 Connexion et déconnexion 301 3.4 Lire des données 304 3.5 Mettre à jour des données 330 3.6 Appeler une procédure stockée 339 3.7 Illustration des problèmes liés à l'environnement NLS 343 3.8 Gérer les erreurs 345 4. Utilisation de SQLite 349 4.1 Préambule 349 4.2 Ouvrir et fermer une base 350 4.3 Lire des données 351 4.4 Mettre à jour des données 364 6/9
4.5 Gérer les erreurs 371 5. PHP Data Objects (PDO) 374 6. "Magic quotes" : le retour 377 6.1 Préambule 377 6.2 Chargement des données en provenance d'une base 379 6.3 Mise à jour des données dans la base 380 Gérer les sessions 1. Description du problème 385 2. Authentification 389 2.1 Vue d'ensemble 389 2.2 Saisie de l'identification 389 2.3 Vérifier l'identification saisie 395 3. Créer un identifiant unique 396 4. Passer des informations par l'url 398 4.1 Principe 398 4.2 "magic quotes" : le retour 403 4.3 Application à la gestion des sessions 403 4.4 Remarques et conclusion 409 5. Passer des informations par une zone de formulaire cachée 410 5.1 Principe 410 5.2 Application à la gestion des sessions 412 5.3 Remarques et conclusion 415 6. Utiliser des cookies 416 7/9
6.1 Principe 416 6.2 "magic quotes" : le retour 422 6.3 Application à la gestion des sessions 422 6.4 Remarques et conclusion 428 7. Utiliser la gestion des sessions de PHP 429 7.1 Principes 429 7.2 Mise en œuvre 430 7.3 Gérer soi-même la transmission de l'identifiant de session 440 7.4 Quelques directives de configuration supplémentaires 446 7.5 Application à la gestion des sessions 447 7.6 Remarques et conclusion 453 8. Conserver des informations d'une visite à une autre 456 9. Petite synthèse sur les variables Get/Post/Cookie/Session 462 Envoyer un courrier électronique 1. Vue d'ensemble 465 2. Envoyer un message texte sans pièce jointe 465 3. Envoyer un message au format MIME 468 3.1 Préambule 468 3.2 Message au format HTML 468 3.3 Message avec pièce jointe 472 Gérer les fichiers 1. Manipuler les fichiers sur le serveur 475 8/9
2. magic quotes 484 3. Télécharger un fichier à partir du client : "file upload" 485 4. Télécharger un fichier à partir du serveur : "download" 490 Gérer les erreurs dans un script PHP 1. Vue d'ensemble 497 2. Les messages d'erreur PHP 498 3. Les fonctions de gestion des erreurs 500 Annexe 1. Variables PHP prédéfinies 513 2. Constantes PHP prédéfinies 515 3. Exemples complémentaires 516 3.1 Introduction 516 3.2 Lire un document XML 516 3.3 Générer un document PDF 521 3.4 Générer une image 526 Index 533 9/9