Table des matières
- Introduction
- 1. Objectif de l’ouvrage
- 2. Fonctionnement d’un site web
- Utilisation de WAMP
- 1. Introduction
- 2. Installation de WAMP
- 3. Prise en main de WAMP
- 4. Création d’une première page PHP
- Les bases du langage PHP
- 1. Les balises
- 1.1 Syntaxe de base
- 1.2 Insertion des balises PHP dans du code XHTML
- 1.3 Envoi des données au serveur web
- 1.4 Insertion de code XHTML avec l’instruction echo
- 1.5 Les commentaires
- 2. Les variables
- 2.1 Affectation
- 2.2 Les types de variables
- 2.3 Particularité du type string
- 2.4 La concaténation
- 2.5 Le transtypage
- 2.6 Les variables dynamiques
- 3. Les constantes
- 1. Les balises
- Les fonctions et structures de contrôle
- 1. Les conditions
- 1.1 if
- 1.2 switch
- 2. Les boucles
- 2.1 for
- 2.2 While
- 2.3 do while
- 2.4 foreach
- 3. Les tableaux
- 3.1 Tableaux numériques
- 3.2 Tableaux associatifs
- 3.3 Constantes de type tableau
- 3.4 Parcours d’un tableau
- 3.4.1 La boucle for
- 3.4.2 La boucle foreach
- 3.4.3 La fonction print_r
- 3.5 Fonctions sur les tableaux
- 3.5.1 Longueur d’un tableau
- 3.5.2 Existence d’une valeur dans un tableau
- 3.5.3 Existence d’une clé dans un tableau
- 3.5.4 Tri d’un tableau
- 3.5.5 Recherche dans un tableau
- 3.5.6 Découper une chaîne dans un tableau
- 3.5.7 Regrouper les valeurs d’un tableau dans une chaîne
- 3.5.8 Découper une chaîne en morceaux de longueur fixe
- 3.5.9 Ajouter des éléments à la fin du tableau
- 3.5.10 Suppression d’un élément à la fin du tableau
- 3.5.11 Sélection aléatoire d’un élément du tableau
- 3.6 Tableaux à plusieurs dimensions
- 3.7 Exercices sur les tableaux
- 3.7.1 Énoncés
- 3.7.2 Corrigés
- 4. Traitement de chaînes de caractères
- 4.1 Les fonctions de manipulation de chaîne
- 4.1.1 strlen()
- 4.1.2 substr()
- 4.1.3 strstr()
- 4.1.4 str_replace()
- 4.1.5 trim()
- 4.1.6 strtolower()
- 4.1.7 strtoupper()
- 4.1.8 strpos()
- 4.1.9 str_word_count()
- 4.1.10 str_pad()
- 4.2 Les expressions régulières
- 4.2.1 Insensibilité à la casse
- 4.2.2 Recherche d’un mot et non d’une chaîne
- 4.2.3 Recherches de chaînes avec OU
- 4.2.4 Début de chaîne
- 4.2.5 Fin de chaîne
- 4.2.6 Un caractère dans une classe
- 4.2.7 Une plage de caractères dans une classe
- 4.2.8 La non-présence d’une plage de caractères dans une classe
- 4.2.9 Les quantificateurs
- 4.2.10 Les intervalles de reconnaissance
- 4.1 Les fonctions de manipulation de chaîne
- 5. Les opérateurs
- 5.1 Les opérateurs de chaîne
- 5.1.1 La concaténation
- 5.1.2 L’assignation
- 5.2 Les opérateurs arithmétiques
- 5.2.1 L’addition
- 5.2.2 La soustraction
- 5.2.3 La multiplication
- 5.2.4 La division
- 5.2.5 Le modulo
- 5.2.6 L’incrémentation
- 5.2.7 La décrémentation
- 5.2.8 L’exponentiation
- 5.3 Les opérateurs de comparaison
- 5.3.1 L’égalité
- 5.3.2 La différence
- 5.3.3 La comparaison
- 5.3.4 L’opérateur à trois issues
- 5.4 L’opérateur ternaire
- 5.5 Les opérateurs logiques
- 5.5.1 ET
- 5.5.2 OU
- 5.1 Les opérateurs de chaîne
- 6. Les fonctions
- 6.1 Création
- 6.2 Les exceptions
- 6.3 Retour du type des déclarations
- 6.4 Portée des variables
- 6.5 Les variables globales
- 6.6 Les variables statiques
- 6.7 Fonctions utiles
- 6.8 Passage par référence
- 6.9 Fonctions sur la gestion de fonction
- 6.10 Fonctions variables via l’opérateur …
- 6.11 Décompression des arguments via l’opérateur …
- 6.12 Fonction anonyme
- 6.13 Fonctions dynamiques interdites
- 6.14 Fonction générateur
- 6.15 Récursivité
- 6.16 Fonctions prédéfinies dans PHP
- 6.16.1 Générer un nombre aléatoire
- 6.16.2 Arrondir un nombre décimal
- 6.16.3 Récupérer la valeur absolue d’un nombre
- 6.16.4 Créer un identifiant unique
- 6.16.5 Afficher les informations sur PHP
- 6.16.6 Envoyer un e-mail
- 6.17 Stocker une fonction dans une variable
- 6.18 Gérer la mémoire tampon
- 6.19 Exercices sur les fonctions
- 6.19.1 Énoncés
- 6.19.2 Solutions
- 7. Les dates
- 8. Les fichiers
- 8.1 Introduction
- 8.2 Lecture rapide
- 8.3 Écriture rapide
- 8.4 Ouverture et fermeture d’un fichier
- 8.5 Lecture et écriture
- 8.6 Accès concurrent
- 8.7 Manipulation de fichiers
- 8.8 Manipulation de répertoires
- 9. Les includes
- 10. Exercices sur les fichiers
- 10.1 Énoncés
- 10.2 Corrigés
- 1. Les conditions
- Transmettre des données d’une page à l’autre
- 1. Les variables superglobales
- 1.1 $GLOBALS
- 1.2 $_SERVER
- 1.3 $_ENV
- 1.4 $_SESSION
- 1.5 Les options de Session
- 1.6 $_COOKIE
- 1.7 $_FILES
- 2. La méthode GET
- 2.1 Utilisation de la méthode GET
- 2.2 Test de la présence de la variable dans l’URL
- 2.3 Test de la valeur de la variable dans l’URL
- 2.4 Informations complémentaires
- 2.4.1 Paramètres avec le même nom
- 2.4.2 Paramètres de type tableau
- 2.4.3 Paramètres avec des caractères spéciaux
- 3. La méthode POST
- 3.1 Utilisation de la méthode POST
- 3.2 Les différents éléments du formulaire
- 3.2.1 Zone de type texte
- 3.2.2 Zone de type mot de passe
- 3.2.3 Grande zone de texte
- 3.2.4 Liste déroulante à choix unique
- 3.2.5 Liste déroulante à choix multiple
- 3.2.6 Cases à cocher
- 3.2.7 Boutons radio
- 3.2.8 Champs cachés
- 3.2.9 Bouton de type submit
- 3.2.10 Bouton de type reset
- 3.2.11 Formulaire complet
- 4. La méthode $_REQUEST
- 5. Extraction de données
- 6. Zones portant le même nom
- 7. Plusieurs formulaires dans la même page
- 8. Contrôle des données et redirection de pages
- 8.1 Introduction
- 8.2 Données obligatoires
- 8.3 Les filtres
- 8.4 Suppression des espaces indésirables
- 8.5 Longueur maximale
- 8.6 Caractères autorisés
- 8.7 Magic quotes
- 8.8 Redirection de page
- 9. Exercices
- 9.1 Énoncés
- 9.2 Solutions
- 1. Les variables superglobales
- Les effets spéciaux sur une image
- 1. La librairie GD
- 2. Création d’une image
- 2.1 Le header
- 2.2 Création d’une image vide
- 2.3 Création et affichage d’une image complète
- 2.4 Résolution de l’image
- 3. Texte et couleur
- 3.1 La couleur
- 3.2 Le texte
- 3.3 La transparence
- 4. Redimensionnement d’une image
- 5. Superposition d’images
- 6. Les formes
- 7. Différents exemples
- 7.1 Exemple 1
- 7.2 Exemple 2
- Base de données MySQL
- 1. Présentation
- 1.1 Introduction
- 1.2 Structure
- 2. phpMyAdmin
- 3. Le langage SQL
- 3.1 Présentation
- 3.2 Lire des données
- 3.3 Écrire des données
- 3.4 Filtrer des données
- 3.5 Les alias
- 3.6 Tri des données
- 3.7 Supprimer des données
- 3.8 Modifier des données
- 3.9 Les jointures
- 3.10 Le regroupement
- 4. SQL avancé
- 4.1 Les fonctions et instructions SQL
- 4.1.1 Limiter des données
- 4.1.2 Valeurs distinctes
- 4.1.3 Convertir en majuscules
- 4.1.4 Convertir en minuscules
- 4.1.5 Arrondir un nombre décimal
- 4.1.6 Valeur absolue d’un nombre décimal
- 4.1.7 Nombre aléatoire
- 4.1.8 Longueur d’un champ
- 4.1.9 Supprimer les espaces d’un champ
- 4.1.10 Extraire une sous-chaîne d’un champ
- 4.1.11 Concaténer plusieurs champs
- 4.1.12 Position d’une chaîne de caractères dans un champ
- 4.1.13 Ajout d’une séquence de caractères
- 4.1.14 Remplacement d’une chaîne de caractères
- 4.1.15 Tester la valeur d’un champ
- 4.1.16 Affichage de la date courante
- 4.1.17 Extraire la date d’un champ date et heure
- 4.1.18 Différence entre deux dates
- 4.1.19 Ajout d’un intervalle de temps à une date
- 4.1.20 Ajout d’un intervalle de temps à une heure
- 4.1.21 Soustraction d’un intervalle de temps à une date
- 4.1.22 Soustraction d’un intervalle de temps à une heure
- 4.1.23 Unir deux requêtes
- 4.2 Les fonctions de chiffrement et de compression
- 4.3 La commande SHOW
- 4.4 La commande SHOW PROCESSLIST
- 4.5 Les expressions rationnelles
- 4.6 Les sous-requêtes
- 4.7 Les procédures stockées et les fonctions
- 4.8 Les autres objets de MySQL
- 4.8.1 Les tables
- 4.8.2 Les index
- 4.8.3 Les vues
- 4.8.4 Les déclencheurs
- 4.1 Les fonctions et instructions SQL
- 5. Exercices SQL
- 5.1 Énoncés
- 5.2 Corrigés
- 6. L’accès aux bases de données avec PHP
- 6.1 Introduction
- 6.2 Connexion
- 6.3 Déconnexion
- 6.4 Requêtes non préparées
- 6.4.1 Lire des données
- 6.4.2 Écrire des données
- 6.4.3 Supprimer des données
- 6.4.4 Mettre à jour des données
- 6.5 Requêtes préparées
- 6.5.1 Introduction
- 6.5.2 Lire des données
- 6.5.3 Écrire des données
- 6.5.4 Modifier des données
- 6.5.5 Supprimer des données
- 6.5.6 Stocker un résultat
- 6.5.7 Afficher les erreurs d’une requête préparée
- 7. PDO
- 7.1 Introduction
- 7.2 Connexion
- 7.3 Requêtes non préparées
- 7.3.1 Lire des données
- 7.3.2 Écrire des données
- 7.3.3 Supprimer des données
- 7.3.4 Mettre à jour des données
- 7.4 Requêtes préparées
- 7.4.1 Lire des données
- 7.4.2 Écrire des données
- 7.4.3 Supprimer des données
- 7.4.4 Modifier des données
- 7.4.5 Appeler une procédure stockée
- 8. Exercices
- 8.1 Énoncés
- 8.2 Corrigés
- 1. Présentation
- L’objet
- 1. Introduction
- 2. Les classes
- 2.1 Introduction
- 2.2 L’encapsulation
- 2.3 Visibilité des attributs et des méthodes
- 2.4 Ajout d’une méthode dans une classe
- 2.5 Utilisation d’une classe
- 2.6 Mettre à jour et lire les attributs de l’instance
- 2.7 Passage en paramètre de type objet
- 2.8 Le constructeur
- 2.9 Le destructeur
- 2.10 Exercice
- 2.11 Les constantes de classe
- 2.12 Les attributs et méthodes statiques
- 2.12.1 Méthode statique
- 2.12.2 Attribut statique
- 2.13 Les exceptions
- 3. L’héritage
- 3.1 Introduction
- 3.2 Protected
- 3.3 Substitution
- 3.4 Héritage en cascade
- 4. Les classes abstraites
- 5. Substitution de méthodes abstraites
- 6. Les interfaces
- 7. Les classes finales
- 8. Les méthodes magiques
- 9. Les classes anonymes
- 10. Les traits
- 11. Uniform Variable Syntax
- 12. Les espaces de noms
- 13. Autoload
- 14. Exercices
- 14.1 Énoncés
- 14.2 Corrigés
- Configuration
- 1. Fichier de configuration PHP : php.ini
- 2. Fichier de configuration MySQL : my.ini
- 3. Fichier de configuration Apache : httpd.conf
- Sécurité
- 1. Failles XSS
- 1.1 XSS non permanent
- 1.2 XSS permanent
- 1.3 Page d’erreur
- 2. Droits sur la base de données
- 3. Injection SQL (addslashes)
- 4. Vérification de la session
- 5. Performances
- 5.1 PHP 7
- 5.2 Utilisation d’AST
- 5.3 Optimiser les performances en PHP
- 5.4 Optimiser les performances en MySQL
- 1. Failles XSS
- Cas pratiques et corrigés
Soyez le premier à donner votre avis sur “Apprendre à développer un site web avec PHP et MySQL Exercices pratiques et corrigés (4e édition)”