Apprendre à développer un site web avec PHP et MySQL Exercices pratiques et corrigés (3ième édition)



Documents pareils
PHP 5.4 Développez un site web dynamique et interactif

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

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

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

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

Programmation Web. Madalina Croitoru IUT Montpellier

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

Sécurité des sites Web Pas un cours un recueil du net. INF340 Jean-François Berdjugin

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

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

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

CREATION WEB DYNAMIQUE

Module Com231A - Web et Bases de Données Notion 5 : Formulaires et utilisation des Bases de Données avec PHP

Failles XSS : Principes, Catégories Démonstrations, Contre mesures

Mysql avec EasyPhp. 1 er mars 2006

Formation : WEbMaster

Création d'un site dynamique en PHP avec Dreamweaver et MySQL

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

Avant-propos 1. Avant-propos Organisation du guide À qui s'adresse ce guide?...4

Installation d un serveur HTTP (Hypertext Transfer Protocol) sous Débian 6

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

Réussir. son site e-commerce. avecoscommerce

Principales failles de sécurité des applications Web Principes, parades et bonnes pratiques de développement

Bureautique Initiation Excel-Powerpoint

Mysql. Les requêtes préparées Prepared statements

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

1 Introduction et installation

Web statique : client-serveur. PHP/MySQL: Sites dynamiques Formulaires et bases de données. Discussion HTTP. Caractéristiques du HTTP

Stockage du fichier dans une table mysql:

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

INTRODUCTION A JAVA. Fichier en langage machine Exécutable

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

Fonctionnalités.

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

Logiciel : GLPI Version : SYNCRHONISATION DE GLPI AVEC ACTIVE DIRECTORY. Auteur : Claude SANTERO Config. : Windows 2003.

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

Peut être utilisée à l intérieur du site où se trouve la liste de référence.

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

Remote Cookies Stealing SIWAR JENHANI (RT4) SOUHIR FARES (RT4)

PHP. PHP et bases de données

Diffuser un contenu sur Internet : notions de base... 13

CATALOGUE DES FORMATIONS 2014

Structure d un programme et Compilation Notions de classe et d objet Syntaxe

Programmer en JAVA. par Tama

PHP 4 PARTIE : BASE DE DONNEES

Construction d un Site Internet Dynamique avec Joomla René-Yves Hervé, Ph.D.

PHP et mysql. Code: php_mysql. Olivier Clavel - Daniel K. Schneider - Patrick Jermann - Vivian Synteta Version: 0.9 (modifié le 13/3/01 par VS)

Système Normalisé de Gestion des Bibliothèques -SYNGEB : version Réseau-

GUIDE D INSTALLATION. Portaneo Enterprise Portal version 4.0

INTERNET est un RESEAU D ORDINATEURS RELIES ENTRE EUX A L ECHELLE PLANETAIRE. Internet : interconnexion de réseaux (anglais : net = réseau)

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

Parcours FOAD Formation EXCEL 2010


Utiliser un tableau de données

Informatique et Internet

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

ISPConfig Documentation

Info0101 Intro. à l'algorithmique et à la programmation. Cours 3. Le langage Java

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

Formation en Logiciels Libres. Fiche d inscription

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

Hébergement de site web Damien Nouvel

Manuel du composant CKForms Version 1.3.2

CMS PRESTASHOP Détails des Foctionnalités

Manuel utilisateur du logiciel PrestaConnect.

BTS SIO SISR3 TP 1-I Le service Web [1] Le service Web [1]

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

PRODIGE V3. Manuel utilisateurs. Consultation des métadonnées

La programmation orientée objet Gestion de Connexions HTTP Manipulation de fichiers Transmission des données PHP/MySQL. Le langage PHP (2)

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

I. MySQL : Serveur et SGBD

FileMaker Server 11. Publication Web personnalisée avec XML et XSLT

laposte.net) Ministère de l'éducation nationale Atelier sécurité Rabat RALL 2007

e-boutique Fonctions de base

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

Database Manager Guide de l utilisateur DMAN-FR-01/01/12

Formulaire pour envoyer un mail

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

MANUEL WORDPRESS. Objectif: Refonte d un site web sous Wordpress I PRE-REQUIS: 1 / Créer un backup (sauvegarde) du site:

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

EXCEL TUTORIEL 2012/2013

A.-M. Cubat Mise à jour de PMB Passer à une version plus récente du logiciel Page 1 Source :

Configuration d'un annuaire LDAP

Dossier Technique. Détail des modifications apportées à GRR. Détail des modifications apportées à GRR Le 17/07/2008. Page 1/10

Content Management System. bluecube. Blue Cube CMS V4.3 par Digitalcube

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

Bases de données élémentaires Maude Manouvrier

Guide d installation de Gael

Application Web et J2EE

ASP.NET MVC 4 Développement d'applications Web en C# - Concepts et bonnes pratiques

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

MAÎTRISE DE L ENVIRONNEMENT WINDOWS VISTA

Informatisation des unités documentaires

Pour signifier qu'une classe fille hérite d'une classe mère, on utilise le mot clé extends class fille extends mère

Services bancaires par Internet aux entreprises. Guide pratique pour : Transfert de fichiers Version

JAVA 8. JAVA 8 - Les fondamentaux du langage. Les fondamentaux du langage Java. Avec exercices pratiques et corrigés JAVA 8 29,90.

SERVEUR DE MESSAGERIE

Transcription:

Introduction 1. Objectif de l'ouvrage 15 2. Fonctionnement d un site web 16 Utilisation d EasyPHP 1. Introduction 19 2. Installation d'easyphp 20 3. Prise en main d EasyPHP 20 4. Création d une première page PHP 22 Les bases du langage PHP 1. Les balises 25 1.1 Syntaxe de base 25 1.2 Insertion des balises PHP dans du code XHTML 26 1.3 Envoi des données au serveur web 28 1.4 Insertion de code XHTML avec l'instruction echo 30 1.5 Les commentaires 31 2. Les variables 31 2.1 Affectation 31 2.2 Les types de variables 32 2.3 Particularité du type string 33 2.4 La concaténation 34 1/13

2.5 Le transtypage 36 2.6 Les variables dynamiques 37 3. Les constantes 38 Les fonctions et structures de contrôle 1. Les conditions 41 1.1 if 41 1.2 switch 46 2. Les boucles 49 2.1 for 49 2.2 While 50 2.3 do while 52 2.4 foreach 52 3. Les tableaux 53 3.1 Tableaux numériques 53 3.2 Tableaux associatifs 55 3.3 Constantes de type tableau 56 3.4 Parcours d'un tableau 57 3.4.1 La boucle for 57 3.4.2 La boucle foreach 58 3.4.3 La fonction print_r 60 3.5 Fonctions sur les tableaux 61 3.5.1 Longueur d'un tableau 61 3.5.2 Existence d'une valeur dans un tableau 61 3.5.3 Existence d'une clé dans un tableau 63 3.5.4 Tri d'un tableau 64 3.5.5 Recherche dans un tableau 67 3.5.6 Découper une chaîne dans un tableau 68 3.5.7 Regrouper les valeurs d'un tableau dans une chaîne 69 3.5.8 Découper une chaîne en morceaux de longueur fixe 70 2/13

3.5.9 Ajouter des éléments à la fin du tableau 71 3.5.10 Suppression d'un élément à la fin du tableau 72 3.5.11 Sélection aléatoire d un élément du tableau 73 3.6 Tableaux à plusieurs dimensions 74 3.7 Exercices sur les tableaux 76 3.7.1 Énoncés 76 3.7.2 Corrigés 77 4. Traitement de chaînes de caractères 80 4.1 Les fonctions de manipulation de chaîne 80 4.1.1 strlen() 80 4.1.2 substr() 81 4.1.3 strstr() 82 4.1.4 str_replace() 83 4.1.5 trim() 84 4.1.6 strtolower() 85 4.1.7 strtoupper() 86 4.1.8 strpos() 86 4.1.9 str_word_count() 87 4.1.10 str_pad() 89 4.2 Les expressions régulières 90 4.2.1 Insensibilité à la casse 92 4.2.2 Recherche d'un mot et non d une chaîne 92 4.2.3 Recherches de chaînes avec OU 94 4.2.4 Début de chaîne 95 4.2.5 Fin de chaîne 95 4.2.6 Un caractère dans une classe 96 4.2.7 Une plage de caractères dans une classe 97 4.2.8 La non-présence d'une plage de caractères dans une classe 98 4.2.9 Les quantificateurs 99 4.2.10 Les intervalles de reconnaissance 100 5. Les opérateurs 102 5.1 Les opérateurs de chaîne 102 5.1.1 La concaténation 102 3/13

5.1.2 L'assignation 103 5.2 Les opérateurs arithmétiques 104 5.2.1 L'addition 104 5.2.2 La soustraction 104 5.2.3 La multiplication 105 5.2.4 La division 105 5.2.5 Le modulo 106 5.2.6 L'incrémentation 107 5.2.7 La décrémentation 108 5.2.8 L exponentiation 108 5.3 Les opérateurs de comparaison 109 5.3.1 L'égalité 109 5.3.2 La différence 110 5.3.3 La comparaison 111 5.3.4 L opérateur à trois issues 112 5.4 L'opérateur ternaire 113 5.5 Les opérateurs logiques 114 5.5.1 ET 114 5.5.2 OU 114 6. Les fonctions 117 6.1 Création 117 6.2 Retour du type des déclarations 120 6.3 Portée des variables 121 6.4 Les variables globales 123 6.5 Les variables statiques 124 6.6 Fonctions utiles 125 6.7 Passage par référence 127 6.8 Fonctions sur la gestion de fonction 128 6.9 Fonctions variables via l opérateur... 131 6.10 Décompression des arguments via l opérateur... 131 6.11 Fonction anonyme 132 6.12 Fonction générateur 134 6.13 Récursivité 136 6.14 Fonctions prédéfinies dans PHP 138 6.14.1 Générer un nombre aléatoire 138 4/13

6.14.2 Arrondir un nombre décimal 139 6.14.3 Récupérer la valeur absolue d'un nombre 140 6.14.4 Créer un identifiant unique 140 6.14.5 Afficher les informations sur PHP 141 6.14.6 Envoyer un e-mail 142 6.15 Stocker une fonction dans une variable 144 6.16 Exercices sur les fonctions 145 6.16.1 Énoncés 145 6.16.2 Solutions 146 7. Les dates 149 8. Les fichiers 158 8.1 Introduction 158 8.2 Lecture rapide 158 8.3 Écriture rapide 160 8.4 Ouverture et fermeture d un fichier 160 8.5 Lecture et écriture 161 8.6 Accès concurrent 168 8.7 Manipulation de fichiers 169 8.8 Manipulation de répertoires 172 9. Les includes 178 10. Exercices sur les fichiers 180 10.1 Énoncés 180 10.2 Corrigés 180 Transmettre des données d'une page à l'autre 1. Les variables superglobales 183 1.1 $GLOBALS 183 1.2 $_SERVER 184 5/13

1.3 $_ENV 188 1.4 $_SESSION 190 1.5 $_COOKIE 192 1.6 $_FILES 195 2. La méthode GET 198 2.1 Utilisation de la méthode GET 198 2.2 Test de la présence de la variable dans l'url 200 2.3 Test de la valeur de la variable dans l'url 202 2.4 Informations complémentaires 204 2.4.1 Paramètres avec le même nom 204 2.4.2 Paramètres de type tableau 204 2.4.3 Paramètres avec des caractères spéciaux 205 3. La méthode POST 208 3.1 Utilisation de la méthode POST 208 3.2 Les différents éléments du formulaire 210 3.2.1 Zone de type texte 210 3.2.2 Zone de type mot de passe 212 3.2.3 Grande zone de texte 213 3.2.4 Liste déroulante à choix unique 214 3.2.5 Liste déroulante à choix multiples 215 3.2.6 Cases à cocher 217 3.2.7 Boutons radio 219 3.2.8 Champs cachés 220 3.2.9 Bouton de type submit 221 3.2.10 Bouton de type reset 224 3.2.11 Formulaire complet 225 4. La méthode $_REQUEST 227 5. Zones portant le même nom 230 6. Plusieurs formulaires dans la même page 230 6/13

7. Contrôle des données et redirection de pages 231 7.1 Introduction 231 7.2 Données obligatoires 231 7.3 Suppression des espaces indésirables 232 7.4 Longueur maximale 232 7.5 Caractères autorisés 233 7.6 Magic quotes 234 7.7 Redirection de page 236 8. Exercices 237 8.1 Énoncés 237 8.2 Solutions 239 Les effets spéciaux sur une image 1. La librairie GD 245 2. Création d'une image 245 2.1 Le header 245 2.2 Création d'une image vide 246 2.3 Création et affichage d'une image complète 246 3. Texte et couleur 248 3.1 La couleur 248 3.2 Le texte 249 3.3 La transparence 250 4. Redimensionnement d une image 251 5. Superposition d images 252 7/13

6. Les formes 255 7. Différents exemples 257 7.1 Exemple 1 257 7.2 Exemple 2 259 Base de données MySQL 1. Présentation 261 1.1 Introduction 261 1.2 Structure 262 2. phpmyadmin 263 3. Le langage SQL 276 3.1 Présentation 276 3.2 Lire des données 277 3.3 Écrire des données 278 3.4 Filtrer des données 282 3.5 Les alias 284 3.6 Tri des données 285 3.7 Supprimer des données 286 3.8 Modifier des données 287 3.9 Les jointures 289 3.10 Le regroupement 293 4. SQL avancé 296 4.1 Les fonctions et instructions SQL 296 4.1.1 Limiter des données 296 4.1.2 Valeurs distinctes 297 4.1.3 Convertir en majuscules 298 4.1.4 Convertir en minuscules 299 8/13

4.1.5 Arrondir un nombre décimal 300 4.1.6 Valeur absolue d'un nombre décimal 300 4.1.7 Nombre aléatoire 300 4.1.8 Longueur d'un champ 301 4.1.9 Supprimer les espaces d'un champ 301 4.1.10 Extraire une sous-chaîne d'un champ 302 4.1.11 Concaténer plusieurs champs 302 4.1.12 Position d'une chaîne de caractères dans un champ 303 4.1.13 Ajout d'une séquence de caractères 304 4.1.14 Remplacement d'une chaîne de caractères 304 4.1.15 Tester la valeur d'un champ 305 4.1.16 Affichage de la date courante 306 4.1.17 Extraire la date d'un champ date et heure 307 4.1.18 Différence entre deux dates 307 4.1.19 Ajout d'un intervalle de temps à une date 308 4.1.20 Ajout d'un intervalle de temps à une heure 309 4.1.21 Soustraction d'un intervalle de temps à une date 310 4.1.22 Soustraction d'un intervalle de temps à une heure 310 4.1.23 Unir deux requêtes 311 4.2 Les fonctions de chiffrement et de compression 312 4.3 La commande SHOW 314 4.4 Les expressions rationnelles 315 4.5 Les sous-requêtes 316 4.6 Les procédures stockées et les fonctions 321 4.7 Les autres objets de MySQL 327 4.7.1 Les tables 327 4.7.2 Les index 328 4.7.3 Les vues 329 4.7.4 Les déclencheurs 330 5. Exercices SQL 332 5.1 Énoncés 334 5.2 Corrigés 337 6. L'accès aux bases de données avec PHP 338 9/13

6.1 Introduction 338 6.2 Connexion 339 6.3 Déconnexion 341 6.4 Requêtes non préparées 341 6.4.1 Lire des données 341 6.4.2 Écrire des données 347 6.4.3 Supprimer des données 349 6.4.4 Mettre à jour des données 350 6.5 Requêtes préparées 351 6.5.1 Introduction 351 6.5.2 Lire des données 352 6.5.3 Écrire des données 355 6.5.4 Modifier des données 356 6.5.5 Supprimer des données 358 6.5.6 Stocker un résultat 359 6.5.7 Afficher les erreurs d'une requête préparée 361 7. PDO 362 7.1 Introduction 362 7.2 Connexion 363 7.3 Requêtes non préparées 366 7.3.1 Lire des données 366 7.3.2 Écrire des données 368 7.3.3 Supprimer des données 370 7.3.4 Mettre à jour des données 371 7.4 Requêtes préparées 372 7.4.1 Lire des données 372 7.4.2 Écrire des données 374 7.4.3 Supprimer des données 376 7.4.4 Modifier des données 377 7.4.5 Appeler une procédure stockée 378 8. Exercices 380 8.1 Énoncés 380 8.2 Corrigés 382 10/13

L objet 1. Introduction 391 2. Les classes 392 2.1 Introduction 392 2.2 L'encapsulation 393 2.3 Visibilité des attributs et des méthodes 393 2.4 Ajout d'une méthode dans une classe 394 2.5 Utilisation d une classe 395 2.6 Mettre à jour et lire les attributs de l'instance 396 2.7 Passage en paramètre de type objet 399 2.8 Le constructeur 402 2.9 Le destructeur 404 2.10 Exercice 405 2.11 Les constantes de classe 406 2.12 Les attributs et méthodes statiques 409 2.12.1 Méthode statique 409 2.12.2 Attribut statique 412 2.13 Les exceptions 414 3. L'héritage 416 3.1 Introduction 416 3.2 Protected 420 3.3 Substitution 422 3.4 Héritage en cascade 424 4. Les classes abstraites 425 5. Les interfaces 428 6. Les classes finales 430 7. Les méthodes magiques 431 11/13

8. Les traits 439 9. Uniform Variable Syntax 440 10. Les espaces de noms 441 11. Exercices 445 11.1 Énoncés 445 11.2 Corrigés 450 Configuration 1. Fichier de configuration PHP : php.ini 471 2. Fichier de configuration MySQL : my.ini 473 3. Fichier de configuration Apache : httpd.conf 474 Sécurité 1. Failles XSS 477 1.1 XSS non permanent 477 1.2 XSS permanent 479 1.3 Page d'erreur 479 2. Droits sur la base de données 480 3. Injection SQL (addslashes) 482 12/13

4. Vérification de la session 484 5. Performances 485 5.1 PHP 7 485 5.2 Utilisation d AST 486 5.3 Optimiser les performances en PHP 487 5.4 Optimiser les performances en MySQL 488 Cas pratiques et corrigés 1. Créer un blog (procédural) 489 2. Créer un blog (objet) 494 3. Créer une newsletter 502 4. Créer un flux RSS 503 5. Gestion d un parc informatique en MVC 504 6. Créer un site de gestion d'élèves 515 7. Génération d un RIB en fichier PDF 535 8. Paiement par PayPal 541 Index 555 13/13