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 16 2.3 Le séparateur d'instructions 17 2.4 Le commentaire 18 2.5 Mixer du PHP et de l'html 18 2.6 Règles de nommage 22 3. Configuration de PHP 22 3.1 Le fichier de configuration php.ini 22 3.2 Informations sur la configuration 23 3.3 Jeu de caractères 26 4. Utiliser PHP en ligne de commande 26 Variables, constantes, types et tableaux 1/9
1. Constantes 29 1.1 Définition 29 1.2 Portée 31 1.3 Fonctions utiles 31 2. Variables 33 2.1 Initialisation et affectation 33 2.2 Portée et durée de vie 34 2.3 Fonctions utiles 35 2.4 Variable dynamique (ou variable variable) 41 3. Types de données 42 3.1 Types disponibles 42 3.2 Conversions 49 3.3 Fonctions utiles 52 4. Tableaux 58 4.1 Définition 58 4.2 Création 59 4.3 Manipulation 64 4.4 Portée 68 4.5 Fonctions utiles 68 5. Quelques fonctions utiles sur les chaînes de caractères, les dates et les nombres 80 5.1 Préambule 80 5.2 Manipulation des chaînes de caractères 80 5.3 Utiliser les expressions rationnelles 96 5.3.1 Introduction 96 5.3.2 Structure d une expression rationnelle 97 5.3.3 Fonctions 106 5.4 Manipulation des dates 111 5.5 Générer un nombre aléatoire 125 2/9
Opérateurs 1. L'opérateur d'affectation par valeur 127 2. L'opérateur d'affectation par référence 129 3. Les opérateurs arithmétiques 130 4. L'opérateur de chaîne 131 5. Les opérateurs de comparaison 131 6. Les opérateurs logiques 132 7. L'opérateur ternaire 133 8. Les opérateurs combinés 134 9. Précédence des opérateurs 134 Structures de contrôle 1. Les contrôles conditionnels 135 1.1 If 135 1.2 Switch 138 2. Les contrôles itératifs 140 2.1 While 140 2.2 Do... while 142 2.3 For 143 2.4 Continue et break 146 3/9
3. Inclure un fichier 147 3.1 Fonctionnement 147 3.2 Utilisation 149 4. Interrompre le script 151 Fonctions et classes 1. Fonctions 153 1.1 Introduction 153 1.2 Déclaration et appel 153 1.3 Paramètres 157 1.4 Valeur de retour 163 1.5 Considérations sur les variables utilisées dans les fonctions 163 1.6 Les constantes et les fonctions 167 1.7 Récursivité 168 1.8 Fonction anonyme 169 1.9 Fonction générateur 171 2. Classes 173 2.1 Concept 173 2.2 Définir une classe 174 2.3 Instancier une classe 177 2.4 Héritage 179 2.5 Autres fonctionnalités sur les classes 181 2.5.1 Classe ou méthode abstraite 181 2.5.2 Classe ou méthode finale 182 2.5.3 Interface 183 2.5.4 Attribut ou méthode statique - Constante de classe 184 2.5.5 Traits 186 2.6 Exceptions 188 4/9
3. Les espaces de noms 190 Gérer les formulaires 1. Vue d'ensemble 195 1.1 Petit rappel sur les formulaires 195 1.2 Interaction entre un formulaire et un script PHP 198 2. Récupérer les données saisies dans le formulaire 203 2.1 Principe 203 2.2 Les différents types de zones 207 2.3 Synthèse 219 3. Construire un formulaire dynamiquement 221 4. Contrôler les données saisies 226 4.1 Vue d'ensemble 226 4.2 Vérifications classiques 226 5. Les problèmes sur les données saisies 231 5.1 La fonctionnalité de "magic quotes" 231 5.2 Autres problèmes sur les données saisies 232 6. Utilisation des filtres 239 6.1 Principes 239 6.2 Application aux formulaires 248 7. Aller sur une autre page à la fin du traitement 250 Accéder aux bases de données 5/9
1. Introduction 257 1.1 Vue d'ensemble 257 1.2 La notion de fetch 259 2. Utilisation de MySQL 260 2.1 Préambule 260 2.2 Connexion et déconnexion 261 2.3 Lire des données 263 2.4 Mettre à jour des données 283 2.5 Gérer les erreurs 290 2.6 Requêtes préparées 293 2.6.1 Vue d ensemble 293 2.6.2 Préparer une requête 295 2.6.3 Lier des variables PHP aux paramètres de la requête 296 2.6.4 Exécuter la requête 297 2.6.5 Obtenir des informations sur le résultat d'une requête de mise à jour 298 2.6.6 Lier des variables PHP aux colonnes du résultat d'une requête de lecture 300 2.6.7 Extraire le résultat d'une requête de lecture 302 2.6.8 Utiliser un résultat stocké 303 2.6.9 Gérer les erreurs 306 2.6.10 Fermer une requête préparée 307 2.7 Utilisation de l extension MySQL 308 3. Utilisation d'oracle 311 3.1 Préambule 311 3.2 Environnement NLS 312 3.3 Connexion et déconnexion 312 3.4 Lire des données 315 3.5 Mettre à jour des données 340 3.6 Appeler une procédure stockée 350 3.7 Illustration des problèmes liés à l'environnement NLS 355 3.8 Gérer les erreurs 357 4. Utilisation de SQLite 361 6/9
4.1 Préambule 361 4.2 Ouvrir et fermer une base 362 4.3 Lire des données 363 4.4 Mettre à jour des données 376 4.5 Gérer les erreurs 382 5. PHP Data Objects (PDO) 386 6. "Magic quotes" : le retour 388 6.1 Préambule 388 6.2 Chargement des données en provenance d'une base 390 6.3 Mise à jour des données dans la base 391 Gérer les sessions 1. Description du problème 395 2. Authentification 399 2.1 Vue d'ensemble 399 2.2 Saisie de l'identification 399 2.3 Vérifier l'identification saisie 404 3. Créer un identifiant unique 405 4. Passer des informations par l'url 407 4.1 Principe 407 4.2 "magic quotes" : le retour 412 4.3 Application à la gestion des sessions 412 4.4 Remarques et conclusion 418 5. Passer des informations par une zone de formulaire cachée 420 5.1 Principe 420 5.2 Application à la gestion des sessions 422 7/9
5.3 Remarques et conclusion 424 6. Utiliser des cookies 425 6.1 Principe 425 6.2 "magic quotes" : le retour 432 6.3 Application à la gestion des sessions 432 6.4 Remarques et conclusion 437 7. Utiliser la gestion des sessions de PHP 438 7.1 Principes 438 7.2 Mise en œuvre 439 7.3 Gérer soi-même la transmission de l'identifiant de session 453 7.4 Quelques directives de configuration supplémentaires 459 7.5 Application à la gestion des sessions 460 7.6 Remarques et conclusion 466 8. Conserver des informations d'une visite à une autre 469 9. Petite synthèse sur les variables Get/Post/Cookie/Session 475 Envoyer un courrier électronique 1. Vue d'ensemble 479 2. Envoyer un message texte sans pièce jointe 479 3. Envoyer un message au format MIME 482 3.1 Préambule 482 3.2 Message au format HTML 482 3.3 Message avec pièce jointe 486 Gérer les fichiers 8/9
1. Manipuler les fichiers sur le serveur 489 2. magic quotes 498 3. Télécharger un fichier à partir du client : "file upload" 499 4. Télécharger un fichier à partir du serveur : "download" 504 Gérer les erreurs dans un script PHP 1. Vue d'ensemble 511 2. Les messages d'erreur PHP 512 3. Les fonctions de gestion des erreurs 514 Annexe 1. Variables PHP prédéfinies 527 2. Constantes PHP prédéfinies 529 3. Exemples complémentaires 530 3.1 Introduction 530 3.2 Lire un document XML 530 3.3 Générer un document PDF 535 3.4 Générer une image 539 Index 545 9/9