1 Chapitre1 - Exercices corriges

PHP supporte de nombreux protocoles comme LDAP (Lightweight Directory
Access Protocol), IMAP (Internet Message Access Protocol), SNMP (Simple
Network Management Protocol), NNTP (Network News Transfer Protocol), POP3
(Post Office Protocol 3), http (HyperText Transfer Protocol), COM (),? PHP
supporte le ...

Part of the document


PHP - Une Introduction header("Content-Type: text/html; charset=UTF-8");
TABLE DES MATIERES 1 HTML et PHP 6
1.1 Généralités sur PHP 6
1.1.1 Caractéristiques 6
1.1.2 Avantages de PHP 6
1.1.3 Nouveautés de PHP5 7
1.1.4 Divers 7
1.2 Le fonctionnement du WEB statique 8
1.3 Le fonctionnement du WEB avec PHP 9
1.4 Editeurs 10
1.4.1 NetBeans 10
1.4.2 Eclipse for PHP 11
1.4.3 Dreamweaver (ADOBE) 14
1.5 Une page PHP avec du HTML 15
1.6 Une page 100% PHP 17
1.7 Phpinfo 18
2 CONSTANTES, VARIABLES, OPERATEURS 19
2.1 Conventions de langage 19
2.2 Les commentaires 19
2.3 Les constantes 19
2.4 Les variables 20
2.5 Portée 21
2.6 Les opérateurs de conversion 26
2.7 Opérateurs divers 26
2.8 Fonction d'exécution de commandes système 27
2.9 Les fonctions sur les variables 28
2.10 Les opérateurs 29
2.10.1 Les opérateurs arithmétiques 29
2.10.2 Les opérateurs d'assignation 29
2.10.3 Les opérateurs de comparaison 30
2.10.4 Les opérateurs logiques 31
2.10.5 Les opérateurs binaires 32
2.11 Les dates 33
2.12 La classe DateTime 35
2.13 Les Chaînes de caractères 36
2.13.1 Quelques fonctions de base sur les chaînes de caractères 37
2.13.2 Quelques fonctions sur les nombres 39
2.13.3 Les fonctions de recherche et de remplacement 40
2.13.4 La fonction EXPLODE 41
2.13.5 Fonctions particulières 42
2.14 Les expressions régulières 50
2.14.1 Ereg et les motifs 50
2.14.2 Les autres fonctions en liaison avec les expressions régulières
60
2.14.3 Ereg_replace ou Eregi_replace 61
2.14.4 Preg_match 64
2.14.5 Preg_replace 65
2.15 Le formatage pour l'affichage de certains types 69
2.15.1 La fonction printf() 69
2.15.2 La fonction number_format() 69
3 LES STRUCTURES DE CONTROLE 70
3.1 Le IF 70
3.2 L'opérateur ternaire 71
3.3 Le switch ... case 72
3.4 Le For 73
3.5 Le TantQue 74
3.6 Le Faire Tantque 75
4 LES TABLEAUX 76
4.1 Généralités 76
4.2 Le Foreach 78
4.3 Les tableaux à clés ou associatifs 79
4.4 Quelques fonctions sur les tableaux 81
5 LE PASSAGE DE VALEURS D'UNE PAGE A UNE AUTRE 85
5.1 La méthode POST 85
5.2 La méthode GET 87
5.3 Comparaison GET et POST 89
5.3.1 Comparatif 89
5.3.2 Test de la limite du get 90
5.3.3 Test de la limite du Post 91
6 LES ELEMENTS DE L'INTERFACE 92
6.1 Input text 92
6.2 Travailler sur la même page 92
6.3 Les cases à cocher 94
6.4 Les boutons radio 95
6.5 Les listes déroulantes 96
6.6 Liste à sélections multiple (Première version) 99
6.7 Liste à sélection multiple (Deuxième version) 100
7 LA GESTION DES FICHIERS 101
7.1 Lecture d'un fichier texte 102
7.2 Création et/ou ajout dans un fichier texte 104
7.3 Modification dans un fichier texte 105
7.4 Lire un fichier text dans un tableau avec File 109
7.5 Afficher un fichier dans le navigateur avec ReadFile 111
7.6 Lire un fichier CSV (Comma Separated Value) 112
7.7 Créer un fichier Binaire 113
7.8 Lire un fichier Binaire 114
7.9 Le système de fichier 117
7.9.1 Savoir si un fichier est modifiable 117
7.9.2 Renommer un fichier 117
7.9.3 Supprimer un fichier 117
7.9.4 Autres attributs 117
7.9.5 Lister le contenu d'un répertoire 118
7.10 Upload de fichier 120
7.11 Annexes 124
7.11.1 Liste de fonctions sur les fichiers 124
7.11.2 Un chat 126
7.11.3 Un petit moteur de recherche 127
7.12 Passerelle PHP-JS 130
8 LES COOKIES 131
8.1 Présentation 131
8.2 Exemples 132
8.2.1 Stocker une valeur 132
8.2.2 Stocker plusieurs valeurs dans une chaîne à "exploser" 133
8.3 Tester la configuration du navigateur 135
9 LES SESSIONS 136
9.1 Gestion de base 136
9.2 Gestion avancée 138
9.2.1 La gestion par des champs cachés 138
9.2.2 La gestion par réécriture d'URL 139
9.2.3 La gestion via des fichiers 141
9.3 Petite application : gestion de panier (Version1) 143
9.4 Petite application : gestion de panier (Version2) 145
9.5 Gestion de panier (version 3 : sans cookies) 147
9.6 Et sur un seul document sans cookie 149
10 LES FONCTIONS 151
10.1 Principes et syntaxe 151
10.2 Les inclusions de fichiers de code 153
11 GESTION DES ERREURS 154
11.1 Introduction 154
11.2 Pas de gestion personnalisée des erreurs 156
11.3 Gestion locale des erreurs d'exécution 157
11.4 Redirection des messages d'erreurs 158
11.5 Gestion personnalisée des erreurs 159
11.5.1 Première approche : le minimum 159
11.5.2 Deuxième approche : Modification du niveau d'erreur 162
11.5.3 Création d'un niveau personnalisé et trigger_error() 164
11.6 Gestion centralisée des erreurs 166
12 ANNEXES 167
12.1 Les variables d'environnement 167
12.2 Le fichier PHP.INI 169
12.2.1 Le chargement dynamique d'extensions 169
12.2.2 Les erreurs 169
12.2.3 Paramétrage du chargement de fichiers 170
12.2.4 Magic quotes 170
12.3 Quelques fonctions utiles 171
12.4 Chronométrer 172
12.4.1 En secondes 172
12.4.2 En millisecondes 172
12.5 Le protocole http 173
12.6 Les en-têtes HTTP avec PHP (header) 176
12.6.1 Gestion du cache client 176
12.6.2 Gestion des jeux de caractères 177
12.7 Un chat 179
12.8 Exécuter un script PHP à une date précise ou périodiquement 184
12.8.1 Le script PHP à exécuter 184
12.8.2 A partir d'un script PHP 184
12.8.3 Lancer le navigateur 186 HTML et PHP 1 Généralités sur PHP
1 Caractéristiques
PHP : Personal Home Page puis PHP HyperText Preprocessor (Récursivité du
nom!).
Ce langage a été crée par Rasmus Lerdorf en 1993.
La version actuelle (2007) est la version 5.
PHP est un générateur de code HTML.
PHP est un langage de scripts Open Source côté serveur.
Il est intégré à du code HTML.
PHP peut gérer des contenus de formulaires WEB, des graphiques, des cookies
et des sessions, manipuler des fichiers texte ou autre, accéder à des bases
de données.
PHP fonctionne sur de nombreux systèmes d'exploitation : Linux, Unix,
Microsoft, Mac-OS, ...
Il fonctionne sur de nombreux serveurs Web : Apache, IIS, PWS, Netscape,
iPlanetServer, ...
PHP est orienté objet depuis la version 4.
PHP peut générer du texte, du graphisme, du Flash, du XML, du PDF à la
volée et l'envoyer au navigateur.
PHP supporte de nombreux protocoles comme LDAP (Lightweight Directory
Access Protocol), IMAP (Internet Message Access Protocol), SNMP (Simple
Network Management Protocol), NNTP (Network News Transfer Protocol), POP3
(Post Office Protocol 3), http (HyperText Transfer Protocol), COM (),...
PHP supporte le format WDDX, qui lui permet de communiquer avec d'autres
langages web.
PHP supporte aussi les instanciations d'objets Java.
2 Avantages de PHP
Gratuit,
Fait pour le Web,
Facile à apprendre,
Portable,
Disponibilité du code source (que vous pouvez donc modifier avant les
releases),
Haute performance,
Support (Payant).
3 Nouveautés de PHP5
Une nouvelle approche POO.
L'intégration de PECL : Extensions développées précedemment par PEAR;
PEAR (pour PHP Extension and Application Repository) est un framework
(ensemble de bibliothèques logicielles) de composants PHP créé par Stig S.
Bakken en 1999.
PECL (PHP Extensions C Libraries) est un framework développé en C. SQLite.
SimpleXML.
4 Divers
Editeurs : NetBeans 6.5 pour PHP (Gratuit), Eclipse (Gratuit), PHPEdit
(Gratuit), NotePad++ (gratuit), HapEdit (Gratuit), Dreamwaever (ADOBE,
payant), ... Bibliographie sommaire : GUEDON, HEUTE & HEUTE, MILLER, "La bible du PHP", Micro application
Edition.
Luke Welling, Laura Thomson, "PHP5 et MySQL 5", Campus Press.
Cyril PIERRE de GEYER et Eric DASPET, "PHP 5 avancé", Eyrolles. Références en ligne. http://www.phpfrance.com/documentation.php http://www.php.net/manual/fr/ http://dev.mysql.com/doc/mysql/fr/index.html Références hors ligne. php_5_fr.chm. 2 Le fonctionnement du WEB statique
Le WEB (www) fonctionne en mode Client/Serveur via le protocole HTTP. [pic] Lorsque le client saisit dans la barre d'adresses de son navigateur une URL
(Uniform Resource Locator) du type http://www.serveur.com/index.html dans
un premier temps le serveur est recherché (www.serveur.com) selon un
certain protocole (http://) puis la page demandée, dans le chemin, est
recherchée sur le serveur (index.html).
Si la page est trouvée, elle est envoyée au navigateur du client qui
l'interprète et qui l'affiche, autrement une page "404" est affichée. Les extensions sont HTM ou HTML pour les pages HTML.
Les extensions sont PHP pour les pages PHP. Exemple de requête : http://127.0.0.1/index.html Une requête HTTP est un ensemble de lignes envoyé du navigateur au serveur.
Elle comprend :
V Une ligne de requête (protocole, url, éventuellement des données),
V Les champs d'en-tête de la requête,
V Le corps de la requête.
Une réponse HTTP est un ensemble de lignes envoyées du serveur au
navigateur.
Elle comprend :
V Une ligne de statut,
V Le corps de la réponse. Cf les détails en Annexes. 3 Le fonctionnement du WEB avec PHP
Avec PHP le fonctionnement est quasiment identique.
Une étape supplémentaire est nécessaire : la génération dynamique de code
HTML via PHP. [pic]
La saisie de l'URL sera du type http://www.serveur/php/page1.php
La demande est envoyée sur l'Internet ou l'Intranet, le serveur est repéré,
il cherche la page, traite le code PHP, produit le code HTML et l'envoie au
client.
Lorsque vous affichez la source via le navigateur d'une page PHP vous ne
visualisez pas le code PHP mais seulement le code HTML généré par
l'interpréteur PHP. Avec un SGBDR Un requête est ajoutée : celle qui va vers le serveur BD. [pic]
4 Editeurs
NetBeans (Gratuit, Sun), Eclipse (Gratuit, Eclipse),