Apprendre à développer un site web avec PHP et MySQL Exercices pratiques et corrigés (2iè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!

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

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

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

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

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

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

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

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

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

Formation : WEbMaster

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

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

INTRODUCTION A JAVA. Fichier en langage machine Exécutable

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

INITIATION AU LANGAGE C SUR PIC DE MICROSHIP

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

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

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

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

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

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

MODE OPERATOIRE OPENOFFICE BASE

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

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

1 Introduction et installation

TP 1. Prise en main du langage Python

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

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

Les structures. Chapitre 3

Classe ClInfoCGI. Fonctions membres principales. Gestion des erreurs

CREATION WEB DYNAMIQUE

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

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

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

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

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

Le langage SQL Rappels

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

PHP 4 PARTIE : BASE DE DONNEES

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

Stockage du fichier dans une table mysql:

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

GUIDE D INSTALLATION. Portaneo Enterprise Portal version 4.0

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

PHP. PHP et bases de données

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

Cours 1 : Introduction. Langages objets. but du module. contrôle des connaissances. Pourquoi Java? présentation du module. Présentation de Java

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

E-TRANSACTIONS. Guide du programmeur API Plug-in. Version 1.1

Mysql avec EasyPhp. 1 er mars 2006

données en connaissance et en actions?

1. LA GESTION DES BASES DE DONNEES RELATIONNELLES

Langage SQL : créer et interroger une base

Introduction : présentation de la Business Intelligence

Manuel du composant CKForms Version 1.3.2

Bureautique Initiation Excel-Powerpoint

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

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

Programmer en JAVA. par Tama

DRUPAL Réalisez des développements professionnels avec PHP (2ième édition)

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)

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

Formulaire pour envoyer un mail

PROJET ALGORITHMIQUE ET PROGRAMMATION II

Formation en Logiciels Libres. Fiche d inscription

Notions fondamentales du langage C# Version 1.0

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

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

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

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

SAP BusinessObjects Web Intelligence (WebI) BI 4

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

Parcours FOAD Formation EXCEL 2010

EXCEL TUTORIEL 2012/2013

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

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

Hébergement de site web Damien Nouvel

Apprendre la Programmation Orientée Objet avec le langage Java (avec exercices pratiques et corrigés)

TP JAVASCRIPT OMI4 TP5 SRC

Présentation du langage et premières fonctions

Fonctionnalités.

Perl Orienté Objet BioPerl There is more than one way to do it

ISPConfig Documentation

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

SQL Serveur Programme de formation. France Belgique Suisse - Canada. Formez vos salariés pour optimiser la productivité de votre entreprise

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

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

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


Manuel utilisateur du logiciel PrestaConnect.

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

Formation. Module WEB 4.1. Support de cours

PROSOP : un système de gestion de bases de données prosopographiques

Programme «Analyste Programmeur» Diplôme d état : «Développeur Informatique» Homologué au niveau III (Bac+2) (JO N 176 du 1 août 2003) (34 semaines)

Transcription:

Introduction 1. Objectif de l'ouvrage 13 2. Fonctionnement d un site web 13 Installation 1. Introduction 17 2. Installation d'easyphp 13.1 18 Les bases du langage PHP 1. Les balises 23 1.1 Syntaxe de base 23 1.2 Insertion des balises PHP dans du code XHTML 24 1.3 Envoi des données au serveur web 26 1.4 Insertion de code XHTML avec l'instruction echo 28 1.5 Les commentaires 29 2. Les variables 29 2.1 Affectation 29 2.2 Les types de variables 30 2.3 Particularité du type string 31 2.4 La concaténation 32 2.5 Le transtypage 34 3. Les constantes 35 1/13

Les fonctions et structures de contrôle 1. Les conditions 37 1.1 If 37 1.2 Switch 42 2. Les boucles 45 2.1 For 45 2.2 While 46 2.3 Do while 48 2.4 Foreach 48 3. Les tableaux 49 3.1 Tableau numérique 49 3.2 Tableau associatif 51 3.3 Parcours d'un tableau 52 3.3.1 La boucle for 52 3.3.2 La boucle foreach 53 3.3.3 print_r 55 3.4 Fonction sur les tableaux 56 3.4.1 Longueur d'un tableau 56 3.4.2 Existence d'une valeur dans un tableau 56 3.4.3 Existence d'une clé dans un tableau 58 3.4.4 Tri d'un tableau 59 3.4.5 Recherche dans un tableau 63 3.4.6 Découper une chaîne dans un tableau 64 3.4.7 Regrouper les valeurs d'un tableau dans une chaîne 65 3.4.8 Découper une chaîne en morceaux de longueur fixe 65 3.4.9 Ajouter des éléments à la fin du tableau 66 3.4.10 Suppression d'un élément à la fin du tableau 67 3.4.11 Sélection de manière aléatoire d un élément du tableau 68 3.5 Tableau à plusieurs dimensions 70 3.5.1 Par l'intermédiaire d'un tableau temporaire 70 3.5.2 En stockant directement les valeurs dans le tableau général 71 3.6 Exercices 71 2/13

3.6.1 Énoncés 71 3.6.2 Corrigés 73 4. Traitement de chaîne de caractères 76 4.1 Les fonctions de manipulation de chaîne 76 4.1.1 strlen() 76 4.1.2 substr() 77 4.1.3 strstr() 78 4.1.4 str_replace() 79 4.1.5 trim() 80 4.1.6 strtolower() 81 4.1.7 strtoupper() 81 4.1.8 strpos() 82 4.1.9 str_word_count() 83 4.1.10 str_pad() 84 4.2 Les expressions régulières 85 4.2.1 La casse 87 4.2.2 Recherche d'un mot et non d une chaîne 87 4.2.3 Le symbole OU 89 4.2.4 Début de chaîne 90 4.2.5 Fin de chaîne 90 4.2.6 Un caractère dans une classe 91 4.2.7 Une plage de caractères dans une classe 92 4.2.8 La non-présence d'une plage de caractères dans une classe 93 4.2.9 Les quantificateurs 94 4.2.10 Les intervalles de reconnaissance 95 5. Les opérateurs 98 5.1 Les opérateurs de chaîne 98 5.1.1 La concaténation 98 5.1.2 L'assignation 98 5.2 Les opérateurs arithmétiques 99 5.2.1 L'addition 99 5.2.2 La soustraction 100 5.2.3 La multiplication 100 3/13

5.2.4 La division 101 5.2.5 Le modulo 101 5.2.6 L'incrémentation 102 5.2.7 La décrémentation 103 5.3 Les opérateurs de comparaison 104 5.3.1 L'égalité 104 5.3.2 La différence 105 5.3.3 La comparaison 106 5.4 L'opérateur ternaire 107 5.5 Les opérateurs logiques 108 5.5.1 ET 108 5.5.2 OU 108 6. Les fonctions 111 6.1 Création 111 6.2 Portée des variables 113 6.3 Les variables globales 115 6.4 Les variables statiques 116 6.5 Fonctions utiles 117 6.6 Passage par référence 119 6.7 Fonctions sur la gestion de fonction 120 6.8 Récursivité 123 6.9 Fonctions prédéfinies dans PHP 125 6.9.1 Générer un nombre aléatoire 126 6.9.2 Arrondir un nombre à virgule 126 6.9.3 Prendre la valeur absolue d'un nombre 127 6.9.4 Créer un identifiant unique 128 6.9.5 Afficher les informations sur PHP 129 6.9.6 Envoyer un e-mail 131 7. Stocker une fonction dans une variable 132 7.1 Exercice 133 7.1.1 Énoncés 133 7.1.2 Solutions 134 4/13

8. Les dates 138 9. Les fichiers 147 9.1 Introduction 147 9.2 Lecture rapide 147 9.3 Écriture rapide 149 9.4 Ouvrir et fermer un fichier 149 9.5 Lire et écrire 150 9.6 Accès concurrent 157 9.7 Manipulation de fichiers 158 9.8 Manipulation de répertoires 161 10. Les includes 168 11. Exercices 170 11.1 Énoncés 170 11.2 Corrigés 171 Transmettre des données d'une page à l'autre 1. Les variables superglobales 175 1.1 $GLOBALS 175 1.2 $_SERVER 176 1.3 $_ENV 179 1.4 $_SESSION 181 1.5 $_COOKIE 183 1.6 $_FILES 185 2. La méthode GET 189 2.1 Utilisation de la méthode GET 189 2.2 Test de la présence de la variable dans l'url 191 2.3 Test de la valeur de la variable dans l'url 193 5/13

2.4 Informations complémentaires 195 2.4.1 Paramètres avec le même nom 195 2.4.2 Paramètres de type tableau 195 2.4.3 Paramètres avec des caractères spéciaux 197 3. La méthode POST 199 3.1 Utilisation de la méthode POST 199 3.2 Les différents éléments du formulaire 201 3.2.1 Zone de type texte 201 3.2.2 Zone de type mot de passe 203 3.2.3 Grande zone de texte 204 3.2.4 Liste déroulante à choix unique 205 3.2.5 Liste déroulante à choix multiple 206 3.2.6 Liste cases à cocher 209 3.2.7 Liste boutons radio 211 3.2.8 Les champs cachés 212 3.2.9 Le bouton de type submit 212 3.2.10 Le bouton de type reset 216 3.2.11 Formulaire complet 216 4. La méthode $_REQUEST 219 5. Zones portant le même nom 221 6. Plusieurs formulaires dans la même page 221 7. Contrôle des données et redirection de pages 222 7.1 Introduction 222 7.2 Données obligatoires 222 7.3 Suppression des espaces indésirables 223 7.4 Longueur maximale 224 7.5 Caractères autorisés 224 7.6 Magic quotes 226 7.7 Redirection de page 227 6/13

8. Exercices 229 8.1 Énoncés 229 8.2 Solutions 230 Manipuler une image 1. La librairie GD 235 2. Création d'une image 235 2.1 Le header 235 2.2 Création d'une image vide 236 2.3 Création et affichage d'une image complète 236 3. Texte et couleur 238 3.1 La couleur 238 3.2 Le texte 239 3.3 La transparence 240 3.4 Redimensionner une image 241 3.5 Superposer des images 242 4. Les formes 245 5. Différents exemples 248 5.1 Exemple 1 248 5.2 Exemple 2 249 Base de données MySQL 1. Présentation 251 1.1 Introduction 251 1.2 Structure 252 7/13

2. PHPMyAdmin 253 3. Le langage SQL 265 3.1 Présentation 265 3.2 Lire des données 266 3.3 Écrire des données 268 3.4 Filtrer des données 269 3.5 Les alias 271 3.6 Tri des données 272 3.7 Supprimer des données 274 3.8 Modifier des données 274 3.9 Les jointures 276 3.10 Le regroupement 281 4. SQL avancé 284 4.1 Les fonctions et instructions SQL 284 4.1.1 Limiter des données 284 4.1.2 Valeurs distinctes 285 4.1.3 Convertir en majuscules 286 4.1.4 Convertir en minuscules 287 4.1.5 Arrondir un nombre à virgule 287 4.1.6 Valeur absolue d'un nombre à virgule 288 4.1.7 Nombre aléatoire 288 4.1.8 Longueur d'un champ 288 4.1.9 Supprimer les espaces d'un champ 289 4.1.10 Extraire une sous-chaîne d'un champ 290 4.1.11 Concaténer plusieurs champs 290 4.1.12 Position d'une chaîne de caractères dans un champ 291 4.1.13 Ajout d'une séquence de caractères 292 4.1.14 Remplacement d'une chaîne de caractères 293 4.1.15 Tester la valeur d'un champ 294 4.1.16 Affichage de la date courante 296 4.1.17 Extraire la date d'un champ date et heure 297 4.1.18 Différence entre deux dates 297 8/13

4.1.19 Ajout d'un intervalle de temps à une date 298 4.1.20 Ajout d'un intervalle de temps à une heure 299 4.1.21 Soustraction d'un intervalle de temps à une date 300 4.1.22 Soustraction d'un intervalle de temps à une heure 300 4.1.23 Unir deux requêtes 301 4.2 Les sous-requêtes 302 4.3 Les procédures stockées et les fonctions 306 4.4 Les autres objets de MySQL 313 4.4.1 Les tables 313 4.4.2 Les index 314 4.4.3 Les vues 315 4.4.4 Les déclencheurs (trigger) 316 5. Exercices SQL 317 5.1 Énoncés 319 5.2 Corrigés 322 6. L'accès aux bases de données avec PHP 324 6.1 Introduction 324 6.2 Connexion 325 6.3 Déconnexion 326 6.4 Requêtes non préparées 327 6.4.1 Lire des données 327 6.4.2 Écrire des données 333 6.4.3 Supprimer des données 335 6.4.4 Mettre à jour des données 336 6.5 Requêtes préparées 337 6.5.1 Introduction 337 6.5.2 Lire des données 338 6.5.3 Écrire des données 341 6.5.4 Modifier des données 342 6.5.5 Supprimer des données 344 6.5.6 Stocker un résultat 345 6.5.7 Afficher les erreurs d'une requête préparée 347 9/13

7. PDO 348 7.1 Introduction 348 7.2 Connexion 350 7.3 Requêtes non préparées 352 7.3.1 Lire des données 352 7.3.2 Écrire des données 354 7.3.3 Supprimer des données 356 7.3.4 Mettre à jour des données 357 7.4 Requêtes préparées 358 7.4.1 Lire des données 358 7.4.2 Écrire des données 360 7.4.3 Supprimer des données 362 7.4.4 Modifier des données 363 7.4.5 Appeler une procédure stockée 363 8. Exercices 366 8.1 Énoncés 366 8.2 Corrigés 368 L objet 1. Introduction 377 2. La classe 378 2.1 Introduction 378 2.2 L'encapsulation 379 2.3 Visibilité des attributs et des méthodes 379 2.4 Ajout d'une méthode dans la classe 381 2.5 Utilisation de la classe 382 2.6 Mettre à jour et lire les attributs de l'instance 382 2.7 Passage en paramètre de type objet 386 2.8 Le constructeur 389 2.9 Le destructeur 391 10/13

2.10 Exercice 392 2.11 Les constantes de classe 393 2.12 Les attributs et méthodes statiques 395 2.12.1 Méthode statique 395 2.12.2 Attribut statique 398 3. L'héritage 400 3.1 Introduction 400 3.2 Protected 404 3.3 Substitution 406 3.4 Héritage en cascade 409 4. Les classes abstraites 410 5. Les classes finales 413 6. Les méthodes magiques 414 7. Namespaces 422 8. Exercices 426 8.1 Énoncés 426 8.2 Corrigés 430 Configuration 1. PHP.ini 451 2. Fichier de configuration MySQL : My.ini 453 3. Fichier de configuration Apache : Httpd.conf 454 11/13

Sécurité et performance 1. Faille XSS 457 1.1 XSS non permanent 457 1.2 XSS permanent 459 1.3 Page d'erreur 459 2. Droits sur la base de données 460 3. Injection SQL (addslashes) 462 4. Vérification de la session 464 5. Performances 465 5.1 Optimiser les performances en PHP 465 5.2 Optimiser les performances en MySQL 466 Cas pratiques et corrigés 1. Créer un blog (procédural) 467 2. Créer un blog (objet) 473 3. Créer une newsletter 480 4. Créer un flux RSS 482 5. Gestion d un parc informatique en MVC 483 6. Créer un site de gestion d'élèves 493 12/13

7. Génération d un RIB en pdf 515 Index 523 13/13