2 e édition. PHP 5.2 et 5.3. Jean Engels. Cours et exercices PHP5 PHP5. Cours et exercices

Documents pareils
WEB & DÉVELOPPEMENT LES BASES DU WEB LE LANGAGE HTML FEUILLES DE STYLES CSS HISTORIQUE D INTERNET ET DU WEB LES DIFFÉRENTS LANGAGES

Magento. Magento. Réussir son site e-commerce. Réussir son site e-commerce BLANCHARD. Préface de Sébastien L e p e r s

Anne Tasso. Java. Le livre de. premier langage. 10 e édition. Avec 109 exercices corrigés. Groupe Eyrolles, , ISBN :

PHP. PHP et bases de données

Formation : WEbMaster

Programmation Web. Madalina Croitoru IUT Montpellier

CATALOGUE DES FORMATIONS 2014

Devenez un véritable développeur web en 3 mois!

FLEX 3. Applications Internet riches avec Flash ActionScript 3, MXML et Flex Builder. Aurélien Vannieuwenhuyze

PHP 5.4 Développez un site web dynamique et interactif

BTS S.I.O PHP OBJET. Module SLAM4. Nom du fichier : PHPRévisionObjetV2.odt Auteur : Pierre Barais

les techniques d'extraction, les formulaires et intégration dans un site WEB

3W Academy Programme de Formation Développeur Intégrateur web Total : 400 heures

RESUME DE CARRIERE. Alice JULIENNE. 23 ans Nationalité Française Développeur Web Front-End. Compétences

Projet 2. Gestion des services enseignants CENTRE D ENSEIGNEMENT ET DE RECHERCHE EN INFORMATIQUE. G r o u p e :

Table des matières Avant-propos... V Scripting Windows, pour quoi faire?... 1 Dans quel contexte?

Introduction à. Oracle Application Express

Langage SQL (1) 4 septembre IUT Orléans. Introduction Le langage SQL : données Le langage SQL : requêtes

PHP. Bertrand Estellon. 26 avril Aix-Marseille Université. Bertrand Estellon (AMU) PHP 26 avril / 214

CREATION WEB DYNAMIQUE

AJAX. (Administrateur) (Dernière édition) Programme de formation. France, Belgique, Suisse, Roumanie - Canada

Mercredi 15 Janvier 2014

PHP 5. La base de données MySql. A. Belaïd 1

XML par la pratique Bases indispensables, concepts et cas pratiques (3ième édition)

PHP 5. avancé. 3 e édition. Eric Daspet. Cyril Pierre de Geyer. Préface de Damien Seguy

CRÉER, ROUTER ET GÉRER UNE NEWSLETTER, UN ING

Bases de données élémentaires Maude Manouvrier

Sommaire. Préface 1 : Pourquoi choisir Magento? Chapitre 1 : Magento, quésaco? Chapitre 2 : Quoi sous le capot?

NFA016 : Introduction. Pour naviguer sur le Web, il faut : Naviguer: dialoguer avec un serveur web

TP JAVASCRIPT OMI4 TP5 SRC

1 Introduction et installation

S7 Le top 10 des raisons d utiliser PHP pour moderniser votre existant IBM i

PHP et LeMonde.fr : passé, présent et avenir Olivier Grange-Labat <grange@lemonde.fr>

Dans nos locaux au 98 Route de Sauve NÎMES. Un ordinateur PC par stagiaire, scanner, imprimante/copieur laser couleur

2 LES BASES DU HTML 19 Qu est-ce que le HTML? 20 De quand date le HTML? 20 Écrire son propre code HTML 22

INFORMATIQUE & WEB. PARCOURS CERTIFICAT PROFESSIONNEL Programmation de sites Web. 1 an 7 MODULES. Code du diplôme : CP09

Mysql avec EasyPhp. 1 er mars 2006

Technologies du Web. Créer et héberger un site Web. Pierre Senellart. Page 1 / 26 Licence de droits d usage

Joomla! Création et administration d'un site web - Version numérique

Dossier I Découverte de Base d Open Office

Formation Webmaster : Création de site Web Initiation + Approfondissement

PDO : PHP Data Object 1/13

Les grandes facettes du développement Web Nicolas Thouvenin - Stéphane Gully

Bureautique Initiation Excel-Powerpoint

Compte Rendu d intégration d application

Formation en Logiciels Libres. Fiche d inscription

Bases de données cours 1

Méthodologie de conceptualisation BI

REQUEA. v PD 20 mars Mouvements d arrivée / départ de personnels Description produit

SYNC FRAMEWORK AVEC SQLITE POUR APPLICATIONS WINDOWS STORE (WINRT) ET WINDOWS PHONE 8

Programme ASI Développeur

Sage 100 CRM Guide de l Import Plus avec Talend Version 8. Mise à jour : 2015 version 8

Créer un site e-commerce avec Dreamweaver CS4 et PHP/MySQL

Programme de formation

Manuel du composant CKForms Version 1.3.2

INTRODUCTION A JAVA. Fichier en langage machine Exécutable

BES WEBDEVELOPER ACTIVITÉ RÔLE

Exemple accessible via une interface Web. Bases de données et systèmes de gestion de bases de données. Généralités. Définitions

LEA.C5. Développement de sites Web transactionnels

Toute personne souhaitant maîtriser les techniques liées à la conception de produits multimédia et à la création de sites Web.

Master CCI. Compétences Complémentaires en Informatique. Livret de l étudiant

Note de synthèse. Développement web sur le CMS Prestashop. Stage du 17 mai au 25 juin Entreprise decoratzia.com 15 rue Erlanger Paris

Gestion des bases de données (2 e partie)

PHP CLÉS EN MAIN. 76 scripts efficaces pour enrichir vos sites web. par William Steinmetz et Brian Ward

programmation S initier à la la Avec des exemples en C, C++, C#, Java et PHP Avec des exemples en C, C++, C#, Java et PHP Claude Delannoy

Sommaire. 1 Introduction Présentation du logiciel de commerce électronique 23

Java DataBaseConnectivity

OUAPI Guide d installation Outil d administration de parc informatique. Documentation d installation et de paramétrage

Access et Org.Base : mêmes objectifs? Description du thème : Création de grilles d écran pour une école de conduite.

SYSTÈMES D INFORMATIONS

WordPress Référencement naturel (SEO) Optimiser. son référencement. Daniel Roch. Préface d Olivier Andrieu

ECR_DESCRIPTION CHAR(80), ECR_MONTANT NUMBER(10,2) NOT NULL, ECR_SENS CHAR(1) NOT NULL) ;

webmestre : conception de sites et administration de serveurs web 42 crédits Certificat professionnel CP09

Magento. Pratique du e-commerce avec Magento. Christophe Le Bot avec la contribution technique de Bruno Sebarte

Présentation du PL/SQL

TP Contraintes - Triggers

May Lopez PETIT COUTEAU SUISSE CRÉATIF. May Lopez Petit couteau suisse créatif

Paul FLYE SAINTE MARIE

Introduction à la B.I. Avec SQL Server 2008

Initiation à Excel. Frédéric Gava (MCF)

Best practices. Guillaume Ponçon Préface de Cyril Pierre de Geyer PHP5. De l analyse des besoins à la conception J2EE

Karim EL KHALIFA Web developer

WysiUpStudio. CMS professionnel. pour la création et la maintenance évolutive de sites et applications Internet V. 6.x

données en connaissance et en actions?

Ce guide détaille pas à pas les étapes d installation et de configuration de la solution jusqu'à la sauvegarde des BDD.

La problématique de la Préservation des Bases de Données. Olivier ROUCHON CINES Groupe PIN Jeudi 7 Octobre

SPIP 1.9. Créer son site avec des outils libres. Michel-Marie Maudet Anne-Laure Quatravaux Dominique Quatravaux. Avec la contribution de Perline

DIF VAE Technicien Supérieur de Support en Informatique

DataStudio. Solution d intégration des données et de diffusion de l information

Les bases de données

TP2_1 DE BUSINESS INTELLIGENCE ISIMA ZZ3 F3

D'UN SITE INTERNET LES S D'UN SITE INTERNET PRATIQUE ET PERFORMANT PRATIQUE ET PERFORMANT

LICENCE PROFESSIONNELLE SYSTEMES INFORMATIQUES & LOGICIELS

DOSSIER D'ACTIVITES SUR LE PHP N 03 Créer une base de données MySQL avec PHPMyAdmin

Langage SQL : créer et interroger une base

ContactForm et ContactFormLight - Gestionnaires de formulaire pour Prestashop Edité par ARETMIC S.A.

Gestion du parc informatique matériel et logiciel de l Ensicaen. Rapport de projet. Spécialité Informatique 2 e année. SAKHI Taoufik SIFAOUI Mohammed

Bases de Données. Plan

CAHIER DES CHARGES DE REALISATION DE SITE INTERNET

Transcription:

Jean Engels 2 e édition PHP 5.2 et 5.3 PHP5 Cours et exercices PHP5 Cours et exercices

PHP5 Cours et exercices

CHEZ LE MÊME ÉDITEUR Du même auteur J. Engels. XHTML et CSS. Cours et exercices. N 11637, 2006, 508 pages. Autres ouvrages E. Daspet, C. Pierre de Geyer. PHP 5 avancé. N 12369, 5 e édition, 2008, 844 pages. G. Ponçon, J. Pauli. Zend Framework. N 12392, 2008, 460 pages. J.-M. Defrance. Premières applications Web 2.0 avec Ajax et PHP. N 12090, 2008, 450 pages. D. Séguy, P. Gamache. Sécurité PHP 5 et MySQL. N 12114, 2007, 240 pages. G. Ponçon. Best practices PHP 5. Les meilleures pratiques de développement en PHP. N 11676, 2005, 480 pages. C. Pierre de Geyer et G. Ponçon. Mémento PHP et SQL. N 12457, 2 e édition, 2009, 14 pages. C. Porteneuve. Bien développer pour le Web 2.0. Bonnes pratiques Ajax - Prototype, Script.aculo.us, accessibilité, JavaScript, DOM, XHTML/CSS. N 12391, 2008, 674 pages. R. Goetter. CSS 2 : pratique du design web. N 12461, 3 e édition, 2009, 340 pages. V. Isaksen, T. Tardif. Joomla et VirtueMart. Réussir sa boutique en ligne. N 12381, 2008, 306 pages. A. Vannieuwenhuyze. Flex 3. N 12387, 2009, 532 pages. T. Audoux, J.-M. Defrance. Dreamweaver CS3. N 12234, 2008, 602 pages. A. Boucher. Ergonomie web. N 12479, 2 e édition, 2009, 456 pages. N. Chu. Réussir un projet de site web. N 12400, 5 e édition, 2008, 246 pages.

Jean Engels PHP5 Cours et exercices 2 e édition - PHP 5.2 et 5.3 Avec la contribution de Olivier Salvatori

ÉDITIONS EYROLLES 61, bd Saint-Germain 75240 Paris Cedex 05 www.editions-eyrolles.com Avec la contribution de Olivier Salvatori pour la première édition. Le code de la propriété intellectuelle du 1 er juillet 1992 interdit en effet expressément la photocopie à usage collectif sans autorisation des ayants droit. Or, cette pratique s est généralisée notamment dans les établissements d enseignement, provoquant une baisse brutale des achats de livres, au point que la possibilité même pour les auteurs de créer des œuvres nouvelles et de les faire éditer correctement est aujourd hui menacée. En application de la loi du 11 mars 1957, il est interdit de reproduire intégralement ou partiellement le présent ouvrage, sur quelque support que ce soit, sans autorisation de l éditeur ou du Centre Français d Exploitation du Droit de Copie, 20, rue des Grands-Augustins, 75006 Paris. Groupe Eyrolles, 2005, 2009, ISBN : 978-2-212-12486-6

Table des matières Avant-propos................................................ XIX CHAPITRE 1 Introduction.................................................. 1 Avant de commencer......................................... 2 Compétences requises........................................ 2 Installation d un serveur local.................................. 3 Premier contact avec PHP.................................... 6 Organisation de PHP......................................... 6 Structure des fichiers XHTML................................. 8 Écriture du code PHP........................................ 11 Ajout de commentaires....................................... 15 CHAPITRE 2 Variables, constantes et types............................... 17 Les variables................................................ 17 Affectation par valeur et par référence........................... 18 Les variables prédéfinies...................................... 20 Les opérateurs d affectation combinée........................... 21 Les constantes............................................... 22 Définir ses constantes personnalisées............................ 22 Les constantes prédéfinies..................................... 23 Les types de données......................................... 24

VI PHP 5 Déterminer le type d une variable.............................. 24 La conversion de type........................................ 25 Contrôler l état d une variable.................................. 26 Les entiers.................................................. 27 Les flottants................................................. 28 Les opérateurs numériques.................................... 29 Les fonctions mathématiques.................................. 29 Les booléens................................................. 32 Le type boolean............................................. 32 Les opérateurs booléens....................................... 33 Les chaînes de caractères..................................... 35 Définir des chaînes.......................................... 35 Concaténer des chaînes....................................... 37 Les tableaux................................................. 37 Les objets................................................... 41 Les types divers.............................................. 42 Le type resource............................................. 42 Le type NULL.............................................. 42 Mémo des fonctions.......................................... 43 Exercices.................................................... 44 CHAPITRE 3 Les instructions de contrôle................................. 47 Les instructions conditionnelles................................ 47 L instruction if.............................................. 47 L instruction if...else......................................... 48 L opérateur?............................................... 51 L instruction switch...case..................................... 52 Les instructions de boucle..................................... 53 La boucle for............................................... 53 La boucle while............................................. 57 La boucle do...while......................................... 58

Table des matières VII La boucle foreach........................................... 58 Sortie anticipée des boucles................................... 61 Gestion des erreurs.......................................... 63 Suppression des messages d erreur.............................. 64 Gestion des exceptions....................................... 65 Exercices................................................... 70 CHAPITRE 4 Les chaînes de caractères................................... 71 Affichage des chaînes......................................... 71 Affichage formaté........................................... 72 Longueur d une chaîne et codes des caractères..................... 75 Mise en forme des chaînes..................................... 76 Modification de la casse...................................... 76 Gestion des espaces.......................................... 78 Entités XHTML et caractères spéciaux......................... 79 Recherche de sous-chaînes.................................... 81 Comparaison de chaînes...................................... 85 Transformation de chaînes en tableaux......................... 87 Les expressions régulières..................................... 88 Définition d un motif élémentaire............................... 89 Les fonctions de recherche PHP................................ 93 Définition d un motif complexe................................ 95 Mémo des fonctions.......................................... 97 Exercices................................................... 100 CHAPITRE 5 Les tableaux................................................. 103 Créer des tableaux........................................... 103 La fonction array()........................................... 103 Créer des suites............................................. 108

VIII PHP 5 Créer un tableau à partir d une chaîne............................ 109 Compter le nombre de valeurs d un tableau....................... 110 Lire les éléments des tableaux................................. 112 Lire avec une boucle for...................................... 112 Lire avec une boucle while.................................... 114 Lire à l aide de la fonction each()............................... 116 Lire avec each() et list()....................................... 120 L instruction foreach......................................... 122 Manipuler des tableaux....................................... 124 Extraire une partie d un tableau................................. 125 Ajouter et enlever des éléments................................. 127 Opérations sur plusieurs tableaux............................... 130 Trier les éléments d un tableau................................ 134 Trier des tableaux indicés..................................... 134 Trier des tableaux associatifs................................... 140 Opérer une sélection des éléments.............................. 143 Appliquer une fonction à un tableau............................ 144 L objet ArrayObject......................................... 147 Mémo des fonctions.......................................... 150 Exercices.................................................... 154 CHAPITRE 6 Les formulaires.............................................. 155 Création d un formulaire HTML.............................. 155 L élément <input />.......................................... 157 L élément <textarea>......................................... 160 L élément <select>.......................................... 160 Exemple de code <form>..................................... 161 Récupération des données du formulaire........................ 163 Valeurs uniques............................................. 164 Les valeurs multiples......................................... 172

Table des matières IX Transfert de fichier vers le serveur............................. 176 Transfert de plusieurs fichiers.................................. 180 Gérer les boutons d envoi multiples............................ 182 Exercices................................................... 185 CHAPITRE 7 Les fonctions................................................ 187 Les fonctions natives de PHP.................................. 187 Créer ses propres fonctions.................................... 189 Définir une fonction......................................... 190 Les fonctions qui ne retournent pas de valeur...................... 192 Les fonctions qui retournent une valeur.......................... 195 Retourner plusieurs valeurs.................................... 197 Les paramètres par défaut..................................... 198 Les fonctions avec un nombre de paramètres variable............ 200 Les paramètres de type array................................... 200 Les fonctions particulières de PHP.............................. 201 Portée des variables.......................................... 203 Variables locales et globales................................... 203 Les variables statiques........................................ 206 Passer des arguments par référence............................ 208 Cas particuliers.............................................. 211 Les fonctions dynamiques..................................... 211 Les fonctions conditionnelles.................................. 213 Fonction définie dans une autre fonction......................... 214 Les fonction récursives....................................... 215 Exercices................................................... 217 CHAPITRE 8 Dates et calendriers.......................................... 219 Les dates.................................................... 219 Définir une date............................................. 222

X PHP 5 Vérifier une date............................................. 223 Afficher une date en clair..................................... 225 La fonction getdate()......................................... 227 Afficher la date en français.................................... 228 Les fonctions de calendrier.................................... 232 Mémo des fonctions.......................................... 235 Exercices.................................................... 236 CHAPITRE 9 La programmation objet..................................... 237 Terminologie des objets....................................... 238 Classe et instance............................................ 239 Création d une classe......................................... 239 Créer un objet.............................................. 243 Accès aux variables de la classe................................ 247 Les modificateurs d accessibilité................................ 250 Propriétés et méthodes statiques................................ 253 Constructeur et destructeur d objet.............................. 255 Déréférencement............................................ 257 Typage des paramètres........................................ 259 Héritage.................................................... 259 Enrichir un objet............................................ 259 Création d une classe dérivée.................................. 261 Late Static Binding.......................................... 263 Les classes abstraites......................................... 265 Les interfaces............................................... 267 Méthode et classe finales...................................... 269 Clonage d objet.............................................. 270 Les namespaces.............................................. 272 Création et utilisation......................................... 273 Utilisation des alias.......................................... 277 Méthodes magiques.......................................... 278

Table des matières XI Mémo des fonctions.......................................... 280 Exercices................................................... 280 CHAPITRE 10 Les images dynamiques..................................... 283 Principes généraux........................................... 283 Création du cadre de l image................................... 285 Création des couleurs........................................ 287 Tracé de formes géométriques.................................. 288 Écriture de texte............................................. 297 Utilisation pratique.......................................... 299 Mémo des fonctions.......................................... 303 Exercices................................................... 306 CHAPITRE 11 Les fichiers................................................... 307 Création, ouverture et fermeture d un fichier.................... 308 Ouverture du fichier......................................... 308 Fermeture du fichier......................................... 310 Verrouillage des fichiers...................................... 311 Écriture dans un fichier...................................... 312 Conserver une information.................................... 312 Formatage des données....................................... 314 Lecture de fichiers........................................... 317 Lire une ligne à la fois........................................ 317 Lire un nombre de caractères donné............................. 319 Lire un caractère à la fois..................................... 323 Lecture d une partie d un fichier................................ 324 Lecture de données formatées.................................. 326 Lecture de la totalité d un fichier............................... 328 Modifications de fichiers...................................... 333 Copier un fichier............................................ 333

XII PHP 5 Renommer un fichier......................................... 333 Effacer un fichier............................................ 334 Informations sur les fichiers................................... 334 Existence d un fichier........................................ 334 Taille des fichiers............................................ 335 Mémo des fonctions.......................................... 338 Exercices.................................................... 340 CHAPITRE 12 Cookies, sessions et e-mails................................ 341 Les cookies.................................................. 341 Écriture des cookies.......................................... 342 Lecture des cookies.......................................... 344 Exemple de page avec cookies................................. 345 Les sessions................................................. 348 Le mécanisme des sessions.................................... 349 Session avec cookie.......................................... 349 La gestion de panier.......................................... 355 Les sessions sans cookie...................................... 359 L envoi de mails............................................. 360 La fonction mail()........................................... 360 Envoi d e-mail au format texte................................. 361 Envoi d e-mail au format HTML................................ 364 Mémo des fonctions.......................................... 367 Exercices.................................................... 367 CHAPITRE 13 Rappels sur les SGBDR...................................... 369 Le modèle entité/association................................... 370 Les entités................................................. 370 Les attributs................................................ 371 Les associations............................................. 372

Table des matières XIII Les cardinalités............................................. 372 Conception du MCD......................................... 375 Normalisation du MCD....................................... 375 La base magasin en ligne...................................... 376 Passage au modèle relationnel................................. 377 Le modèle relationnel........................................ 377 Conception du MLD......................................... 378 Le MLD de la base magasin en ligne............................ 380 Modèle physique de données.................................. 380 Exercices................................................... 381 CHAPITRE 14 Le langage SQL et phpmyadmin............................ 383 L interface phpmyadmin..................................... 383 Création d une base de données................................ 385 Création de tables............................................ 387 Les types de données MySQL.................................. 388 Création des tables........................................... 392 Modification des tables....................................... 397 Insertion de données......................................... 403 Insertion ligne par ligne....................................... 403 Mise à jour des données...................................... 405 Importation à partir d un fichier texte............................ 405 Insertion à partir d un fichier Excel............................. 407 Les données de la base magasin................................ 408 Sélection des données......................................... 410 Sélection dans une table...................................... 410 Les jointures................................................ 422 Jointure de deux tables....................................... 422 Jointure de plus de deux tables................................. 424 Exercices................................................... 425

XIV PHP 5 CHAPITRE 15 Accès procédural à MySQL avec PHP....................... 429 Connexion au serveur MySQL................................. 430 Envoi de requêtes SQL au serveur.............................. 433 Lecture du résultat d une requête.............................. 434 Lecture à l aide d un tableau................................... 434 Lecture des noms de colonnes.................................. 437 Récupération des valeurs dans un objet........................... 441 Insertion de données dans la base.............................. 442 Insertion des données......................................... 443 Mise à jour d une table....................................... 446 Recherche dans la base....................................... 450 Mémo des fonctions.......................................... 454 Exercices.................................................... 456 CHAPITRE 16 Accès objet à MySQL avec PHP............................. 459 Connexion au serveur MySQL................................. 459 Envoi de requêtes SQL au serveur.............................. 462 Lecture du résultat d une requête.............................. 463 Lecture à l aide d un tableau................................... 463 Lecture des noms de colonnes.................................. 466 Récupération des valeurs dans un objet........................... 468 Insertion de données dans la base.............................. 471 Insertion des données......................................... 471 Mise à jour d une table....................................... 474 Recherche dans la base....................................... 478 Les requêtes préparées........................................ 481 Les transactions............................................. 484 Mémo des méthodes et propriétés.............................. 486 Classe mysqli : méthodes..................................... 486

Table des matières XV Classe mysqli : propriétés..................................... 487 Classe mysqli_result : méthodes................................ 487 Classe mysqli_result : propriétés................................ 488 Classe mysqli_stmt : méthodes................................. 488 Classe mysqli_stmt : propriétés................................. 489 Exercices................................................... 489 CHAPITRE 17 PDO et MySQL............................................... 491 Connexion au serveur MySQL................................ 492 Envoi de requêtes SQL au serveur............................. 494 Lecture du résultat d une requête.............................. 495 Lecture à l aide d un tableau................................... 496 Lecture des noms de colonnes.................................. 498 Récupération des valeurs dans un objet........................... 500 Insertion de données dans la base.............................. 503 Insertion des données........................................ 503 Mise à jour d une table....................................... 506 Recherche dans la base....................................... 510 Les requêtes préparées....................................... 514 Les transactions............................................. 517 Mémo des méthodes.......................................... 519 Classe PDO................................................ 519 Classe PDOStatement........................................ 519 Classe PDOException........................................ 520 Exercices................................................... 520 CHAPITRE 18 La base SQLite............................................... 523 Caractéristiques générales.................................... 523 L interface SQLiteManager................................... 525 Méthodes d accès à SQLite.................................... 527

XVI PHP 5 La méthode procédurale...................................... 528 Ouverture de la base......................................... 528 Envoi de requêtes............................................ 529 Insertion de données......................................... 533 Les transactions............................................. 535 Lecture des résultats d une requête.............................. 538 Accès à une ligne quelconque d un résultat....................... 543 Création de fonctions SQL personnalisées........................ 545 La méthode objet............................................ 547 Accès à la base.............................................. 548 Envoi de requêtes............................................ 548 Lecture des résultats et objets spécialisés......................... 552 Lecture dans un objet......................................... 556 Création de fonctions SQL personnalisées........................ 557 L objet SQLiteException...................................... 558 Accès à SQLite avec PDO..................................... 560 Mémo des fonctions.......................................... 561 Mémo des méthodes des objets................................. 563 Exercices.................................................... 564 CHAPITRE 19 PHP et SimpleXML........................................... 567 Notions de XML............................................. 567 Lecture d un fichier XML..................................... 571 Accéder au contenu d un fichier XML........................... 571 Lecture des attributs d un élément............................... 575 Lecture d un fichier à structure complexe......................... 577 Modification des valeurs des éléments et des attributs............... 578 Recherche dans un fichier..................................... 580 Création d un fichier XML à partir d un formulaire............. 583 Relations entre XML et une base MySQL....................... 585 Création d un fichier XML à partir d une table MySQL............. 586 Création d une table MySQL à partir d un fichier XML............. 591

Table des matières XVII Mémo des fonctions et méthodes............................... 593 Exercices................................................... 593 CHAPITRE 20 Le framework PEAR......................................... 595 Installer PEAR.............................................. 595 Le package HTML_QuickForm............................... 597 L objet formulaire........................................... 597 Composants de saisie de texte.................................. 598 Les boutons radio........................................... 600 Les cases à cocher........................................... 600 Les listes de sélection........................................ 601 Les champs cachés.......................................... 603 Les boutons d envoi.......................................... 603 Les règles de validation....................................... 603 Récupération des données..................................... 607 PEAR : une multitude de packages............................. 608 Exercices................................................... 609 CHAPITRE 21 Travaux personnels.......................................... 611 Démarche à suivre........................................... 611 TP n 1. Un site de rencontres................................. 612 L interface................................................. 612 La base de données SQLite.................................... 615 TP n 2. Dictionnaire de citations interactif...................... 615 L interface................................................. 616 La base de données MySQL................................... 617 TP n 3. Commerce en ligne................................... 618 Les besoins du client......................................... 618 Votre travail................................................ 619 TP n 4. Création d un blog.................................... 621 Index......................................................... 623

Avant-propos Cet ouvrage est destiné, en priorité, à ceux qui veulent se former à PHP 5 et aux bases de données MySQL et SQLite pour créer des pages Web dynamiques et interactives. Nous y présentons à la fois les bases du langage, qui étaient celles de PHP 4, et les importantes nouveautés de la version 5, qui représente une évolution majeure. PHP s est encore enrichi dans la version 5.3, sujet de cette seconde édition, en particulier dans le domaine des objets avec, entre autres, l apparition des namespaces (espaces de noms) y compris l emploi du mot-clé use, du namespace global, des alias et des appels de variables statiques, ainsi que le Late State Binding et la création de constantes et de fonctions dans les namespaces. Notons également l apparition de l extension mysqli, qui permet un accès objet riche à MySQL, et de la couche d abstraction PDO qui autorise l accès aux bases de données les plus diverses. Avec la version 5.3 utilisée dans cette nouvelle édition, PHP confirme qu il est un langage encore plus professionnel et solide, tout en conservant la simplicité et l efficacité qui ont fait son immense succès. Les exercices proposés à la fin de chaque chapitre vous permettront une application immédiate des points étudiés et, grâce aux travaux personnels proposés à la fin de l ouvrage, vous pourrez mettre en œuvre l ensemble des connaissances acquises dans des cas réels de sites Web dynamiques. Les corrigés de ces exercices, téléchargeables sur le site www.editions-eyrolles.com, ainsi que visibles et exécutables sur le site www.funhtml.com, vous permettront de mesurer votre compréhension des notions abordées. L ouvrage est divisé en vingt et un chapitres, qui abordent successivement les sujets suivants : Le chapitre 1 rappelle le fonctionnement général de PHP dans la création de pages dynamiques. Il montre comment installer les outils nécessaires aux tests des scripts, en particulier le serveur Web Apache/PHP/MySQL, et dresse l inventaire des nouveautés de PHP 5. Le chapitre 2 définit les différents types de données manipulables avec PHP et montre comment les utiliser en créant des variables ou des constantes. Le chapitre 3 fait un tour d horizon des instructions de contrôle indispensables à tout langage. Il montre comment créer des instructions conditionnelles et des boucles ainsi que gérer les erreurs par le mécanisme des exceptions, une des nouveautés de PHP 5.