Td corrigé 1 Chapitre1 - Exercices corriges pdf

1 Chapitre1 - Exercices corriges

Parmi les logiciels de gestion de projet nous citerons MS Project (Microsoft ...... Trois organismes sont accrédités pour fournir, après examen, les certifications ITIL ...... Le traitement du sujet nécessite toutefois une vision globale de SIDOL et de ...




part of the document




 HYPERLINK \l "_Toc259635100" 1.4.2 Eclipse for PHP  PAGEREF _Toc259635100 \h 11
 HYPERLINK \l "_Toc259635101" 1.4.3 Dreamweaver (ADOBE)  PAGEREF _Toc259635101 \h 14
 HYPERLINK \l "_Toc259635102" 1.5 Une page PHP avec du HTML  PAGEREF _Toc259635102 \h 15
 HYPERLINK \l "_Toc259635103" 1.6 Une page 100% PHP  PAGEREF _Toc259635103 \h 17
 HYPERLINK \l "_Toc259635104" 1.7 Phpinfo  PAGEREF _Toc259635104 \h 18
 HYPERLINK \l "_Toc259635105" 2 CONSTANTES, VARIABLES, OPERATEURS  PAGEREF _Toc259635105 \h 19
 HYPERLINK \l "_Toc259635106" 2.1 Conventions de langage  PAGEREF _Toc259635106 \h 19
 HYPERLINK \l "_Toc259635107" 2.2 Les commentaires  PAGEREF _Toc259635107 \h 19
 HYPERLINK \l "_Toc259635108" 2.3 Les constantes  PAGEREF _Toc259635108 \h 19
 HYPERLINK \l "_Toc259635109" 2.4 Les variables  PAGEREF _Toc259635109 \h 20
 HYPERLINK \l "_Toc259635110" 2.5 Portée  PAGEREF _Toc259635110 \h 21
 HYPERLINK \l "_Toc259635111" 2.6 Les opérateurs de conversion  PAGEREF _Toc259635111 \h 26
 HYPERLINK \l "_Toc259635112" 2.7 Opérateurs divers  PAGEREF _Toc259635112 \h 26
 HYPERLINK \l "_Toc259635113" 2.8 Fonction d'exécution de commandes système  PAGEREF _Toc259635113 \h 27
 HYPERLINK \l "_Toc259635114" 2.9 Les fonctions sur les variables  PAGEREF _Toc259635114 \h 28
 HYPERLINK \l "_Toc259635115" 2.10 Les opérateurs  PAGEREF _Toc259635115 \h 29
 HYPERLINK \l "_Toc259635116" 2.10.1 Les opérateurs arithmétiques  PAGEREF _Toc259635116 \h 29
 HYPERLINK \l "_Toc259635117" 2.10.2 Les opérateurs d'assignation  PAGEREF _Toc259635117 \h 29
 HYPERLINK \l "_Toc259635118" 2.10.3 Les opérateurs de comparaison  PAGEREF _Toc259635118 \h 30
 HYPERLINK \l "_Toc259635119" 2.10.4 Les opérateurs logiques  PAGEREF _Toc259635119 \h 31
 HYPERLINK \l "_Toc259635120" 2.10.5 Les opérateurs binaires  PAGEREF _Toc259635120 \h 32
 HYPERLINK \l "_Toc259635121" 2.11 Les dates  PAGEREF _Toc259635121 \h 33
 HYPERLINK \l "_Toc259635122" 2.12 La classe DateTime  PAGEREF _Toc259635122 \h 35
 HYPERLINK \l "_Toc259635123" 2.13 Les Chaînes de caractères  PAGEREF _Toc259635123 \h 36
 HYPERLINK \l "_Toc259635124" 2.13.1 Quelques fonctions de base sur les chaînes de caractères  PAGEREF _Toc259635124 \h 37
 HYPERLINK \l "_Toc259635125" 2.13.2 Quelques fonctions sur les nombres  PAGEREF _Toc259635125 \h 39
 HYPERLINK \l "_Toc259635126" 2.13.3 Les fonctions de recherche et de remplacement  PAGEREF _Toc259635126 \h 40
 HYPERLINK \l "_Toc259635127" 2.13.4 La fonction EXPLODE  PAGEREF _Toc259635127 \h 41
 HYPERLINK \l "_Toc259635128" 2.13.5 Fonctions particulières  PAGEREF _Toc259635128 \h 42
 HYPERLINK \l "_Toc259635129" 2.14 Les expressions régulières  PAGEREF _Toc259635129 \h 50
 HYPERLINK \l "_Toc259635130" 2.14.1 Ereg et les motifs  PAGEREF _Toc259635130 \h 50
 HYPERLINK \l "_Toc259635131" 2.14.2 Les autres fonctions en liaison avec les expressions régulières  PAGEREF _Toc259635131 \h 60
 HYPERLINK \l "_Toc259635132" 2.14.3 Ereg_replace ou Eregi_replace  PAGEREF _Toc259635132 \h 61
 HYPERLINK \l "_Toc259635133" 2.14.4 Preg_match  PAGEREF _Toc259635133 \h 64
 HYPERLINK \l "_Toc259635134" 2.14.5 Preg_replace  PAGEREF _Toc259635134 \h 65
 HYPERLINK \l "_Toc259635135" 2.15 Le formatage pour l'affichage de certains types  PAGEREF _Toc259635135 \h 69
 HYPERLINK \l "_Toc259635136" 2.15.1 La fonction printf()  PAGEREF _Toc259635136 \h 69
 HYPERLINK \l "_Toc259635137" 2.15.2 La fonction number_format()  PAGEREF _Toc259635137 \h 69
 HYPERLINK \l "_Toc259635138" 3 LES STRUCTURES DE CONTROLE  PAGEREF _Toc259635138 \h 70
 HYPERLINK \l "_Toc259635139" 3.1 Le IF  PAGEREF _Toc259635139 \h 70
 HYPERLINK \l "_Toc259635140" 3.2 L'opérateur ternaire  PAGEREF _Toc259635140 \h 71
 HYPERLINK \l "_Toc259635141" 3.3 Le switch … case  PAGEREF _Toc259635141 \h 72
 HYPERLINK \l "_Toc259635142" 3.4 Le For  PAGEREF _Toc259635142 \h 73
 HYPERLINK \l "_Toc259635143" 3.5 Le TantQue  PAGEREF _Toc259635143 \h 74
 HYPERLINK \l "_Toc259635144" 3.6 Le Faire Tantque  PAGEREF _Toc259635144 \h 75
 HYPERLINK \l "_Toc259635145" 4 LES TABLEAUX  PAGEREF _Toc259635145 \h 76
 HYPERLINK \l "_Toc259635146" 4.1 Généralités  PAGEREF _Toc259635146 \h 76
 HYPERLINK \l "_Toc259635147" 4.2 Le Foreach  PAGEREF _Toc259635147 \h 78
 HYPERLINK \l "_Toc259635148" 4.3 Les tableaux à clés ou associatifs  PAGEREF _Toc259635148 \h 79
 HYPERLINK \l "_Toc259635149" 4.4 Quelques fonctions sur les tableaux  PAGEREF _Toc259635149 \h 81
 HYPERLINK \l "_Toc259635150" 5 LE PASSAGE DE VALEURS D'UNE PAGE A UNE AUTRE  PAGEREF _Toc259635150 \h 85
 HYPERLINK \l "_Toc259635151" 5.1 La méthode POST  PAGEREF _Toc259635151 \h 85
 HYPERLINK \l "_Toc259635152" 5.2 La méthode GET  PAGEREF _Toc259635152 \h 87
 HYPERLINK \l "_Toc259635153" 5.3 Comparaison GET et POST  PAGEREF _Toc259635153 \h 89
 HYPERLINK \l "_Toc259635154" 5.3.1 Comparatif  PAGEREF _Toc259635154 \h 89
 HYPERLINK \l "_Toc259635155" 5.3.2 Test de la limite du get  PAGEREF _Toc259635155 \h 90
 HYPERLINK \l "_Toc259635156" 5.3.3 Test de la limite du Post  PAGEREF _Toc259635156 \h 91
 HYPERLINK \l "_Toc259635157" 6 LES ELEMENTS DE L'INTERFACE  PAGEREF _Toc259635157 \h 92
 HYPERLINK \l "_Toc259635158" 6.1 Input text  PAGEREF _Toc259635158 \h 92
 HYPERLINK \l "_Toc259635159" 6.2 Travailler sur la même page  PAGEREF _Toc259635159 \h 92
 HYPERLINK \l "_Toc259635160" 6.3 Les cases à cocher  PAGEREF _Toc259635160 \h 94
 HYPERLINK \l "_Toc259635161" 6.4 Les boutons radio  PAGEREF _Toc259635161 \h 95
 HYPERLINK \l "_Toc259635162" 6.5 Les listes déroulantes  PAGEREF _Toc259635162 \h 96
 HYPERLINK \l "_Toc259635163" 6.6 Liste à sélections multiple (Première version)  PAGEREF _Toc259635163 \h 99
 HYPERLINK \l "_Toc259635164" 6.7 Liste à sélection multiple (Deuxième version)  PAGEREF _Toc259635164 \h 100
 HYPERLINK \l "_Toc259635165" 7 LA GESTION DES FICHIERS  PAGEREF _Toc259635165 \h 101
 HYPERLINK \l "_Toc259635166" 7.1 Lecture d'un fichier texte  PAGEREF _Toc259635166 \h 102
 HYPERLINK \l "_Toc259635167" 7.2 Création et/ou ajout dans un fichier texte  PAGEREF _Toc259635167 \h 104
 HYPERLINK \l "_Toc259635168" 7.3 Modification dans un fichier texte  PAGEREF _Toc259635168 \h 105
 HYPERLINK \l "_Toc259635169" 7.4 Lire un fichier text dans un tableau avec File  PAGEREF _Toc259635169 \h 109
 HYPERLINK \l "_Toc259635170" 7.5 Afficher un fichier dans le navigateur avec ReadFile  PAGEREF _Toc259635170 \h 111
 HYPERLINK \l "_Toc259635171" 7.6 Lire un fichier CSV (Comma Separated Value)  PAGEREF _Toc259635171 \h 112
 HYPERLINK \l "_Toc259635172" 7.7 Créer un fichier Binaire  PAGEREF _Toc259635172 \h 113
 HYPERLINK \l "_Toc259635173" 7.8 Lire un fichier Binaire  PAGEREF _Toc259635173 \h 114
 HYPERLINK \l "_Toc259635174" 7.9 Le système de fichier  PAGEREF _Toc259635174 \h 117
 HYPERLINK \l "_Toc259635175" 7.9.1 Savoir si un fichier est modifiable  PAGEREF _Toc259635175 \h 117
 HYPERLINK \l "_Toc259635176" 7.9.2 Renommer un fichier  PAGEREF _Toc259635176 \h 117
 HYPERLINK \l "_Toc259635177" 7.9.3 Supprimer un fichier  PAGEREF _Toc259635177 \h 117
 HYPERLINK \l "_Toc259635178" 7.9.4 Autres attributs  PAGEREF _Toc259635178 \h 117
 HYPERLINK \l "_Toc259635179" 7.9.5 Lister le contenu d'un répertoire  PAGEREF _Toc259635179 \h 118
 HYPERLINK \l "_Toc259635180" 7.10 Upload de fichier  PAGEREF _Toc259635180 \h 120
 HYPERLINK \l "_Toc259635181" 7.11 Annexes  PAGEREF _Toc259635181 \h 124
 HYPERLINK \l "_Toc259635182" 7.11.1 Liste de fonctions sur les fichiers  PAGEREF _Toc259635182 \h 124
 HYPERLINK \l "_Toc259635183" 7.11.2 Un chat  PAGEREF _Toc259635183 \h 126
 HYPERLINK \l "_Toc259635184" 7.11.3 Un petit moteur de recherche  PAGEREF _Toc259635184 \h 127
 HYPERLINK \l "_Toc259635185" 7.12 Passerelle PHP-JS  PAGEREF _Toc259635185 \h 130
 HYPERLINK \l "_Toc259635186" 8 LES COOKIES  PAGEREF _Toc259635186 \h 131
 HYPERLINK \l "_Toc259635187" 8.1 Présentation  PAGEREF _Toc259635187 \h 131
 HYPERLINK \l "_Toc259635188" 8.2 Exemples  PAGEREF _Toc259635188 \h 132
 HYPERLINK \l "_Toc259635189" 8.2.1 Stocker une valeur  PAGEREF _Toc259635189 \h 132
 HYPERLINK \l "_Toc259635190" 8.2.2 Stocker plusieurs valeurs dans une chaîne à "exploser"  PAGEREF _Toc259635190 \h 133
 HYPERLINK \l "_Toc259635191" 8.3 Tester la configuration du navigateur  PAGEREF _Toc259635191 \h 135
 HYPERLINK \l "_Toc259635192" 9 LES SESSIONS  PAGEREF _Toc259635192 \h 136
 HYPERLINK \l "_Toc259635193" 9.1 Gestion de base  PAGEREF _Toc259635193 \h 136
 HYPERLINK \l "_Toc259635194" 9.2 Gestion avancée  PAGEREF _Toc259635194 \h 138
 HYPERLINK \l "_Toc259635195" 9.2.1 La gestion par des champs cachés  PAGEREF _Toc259635195 \h 138
 HYPERLINK \l "_Toc259635196" 9.2.2 La gestion par réécriture d'URL  PAGEREF _Toc259635196 \h 139
 HYPERLINK \l "_Toc259635197" 9.2.3 La gestion via des fichiers  PAGEREF _Toc259635197 \h 141
 HYPERLINK \l "_Toc259635198" 9.3 Petite application : gestion de panier (Version1)  PAGEREF _Toc259635198 \h 143
 HYPERLINK \l "_Toc259635199" 9.4 Petite application : gestion de panier (Version2)  PAGEREF _Toc259635199 \h 145
 HYPERLINK \l "_Toc259635200" 9.5 Gestion de panier (version 3 : sans cookies)  PAGEREF _Toc259635200 \h 147
 HYPERLINK \l "_Toc259635201" 9.6 Et sur un seul document sans cookie  PAGEREF _Toc259635201 \h 149
 HYPERLINK \l "_Toc259635202" 10 LES FONCTIONS  PAGEREF _Toc259635202 \h 151
 HYPERLINK \l "_Toc259635203" 10.1 Principes et syntaxe  PAGEREF _Toc259635203 \h 151
 HYPERLINK \l "_Toc259635204" 10.2 Les inclusions de fichiers de code  PAGEREF _Toc259635204 \h 153
 HYPERLINK \l "_Toc259635205" 11 GESTION DES ERREURS  PAGEREF _Toc259635205 \h 154
 HYPERLINK \l "_Toc259635206" 11.1 Introduction  PAGEREF _Toc259635206 \h 154
 HYPERLINK \l "_Toc259635207" 11.2 Pas de gestion personnalisée des erreurs  PAGEREF _Toc259635207 \h 156
 HYPERLINK \l "_Toc259635208" 11.3 Gestion locale des erreurs d'exécution  PAGEREF _Toc259635208 \h 157
 HYPERLINK \l "_Toc259635209" 11.4 Redirection des messages d'erreurs  PAGEREF _Toc259635209 \h 158
 HYPERLINK \l "_Toc259635210" 11.5 Gestion personnalisée des erreurs  PAGEREF _Toc259635210 \h 159
 HYPERLINK \l "_Toc259635211" 11.5.1 Première approche : le minimum  PAGEREF _Toc259635211 \h 159
 HYPERLINK \l "_Toc259635212" 11.5.2 Deuxième approche : Modification du niveau d'erreur  PAGEREF _Toc259635212 \h 162
 HYPERLINK \l "_Toc259635213" 11.5.3 Création d'un niveau personnalisé et trigger_error()  PAGEREF _Toc259635213 \h 164
 HYPERLINK \l "_Toc259635214" 11.6 Gestion centralisée des erreurs  PAGEREF _Toc259635214 \h 166
 HYPERLINK \l "_Toc259635215" 12 ANNEXES  PAGEREF _Toc259635215 \h 167
 HYPERLINK \l "_Toc259635216" 12.1 Les variables d'environnement  PAGEREF _Toc259635216 \h 167
 HYPERLINK \l "_Toc259635217" 12.2 Le fichier PHP.INI  PAGEREF _Toc259635217 \h 169
 HYPERLINK \l "_Toc259635218" 12.2.1 Le chargement dynamique d'extensions  PAGEREF _Toc259635218 \h 169
 HYPERLINK \l "_Toc259635219" 12.2.2 Les erreurs  PAGEREF _Toc259635219 \h 169
 HYPERLINK \l "_Toc259635220" 12.2.3 Paramétrage du chargement de fichiers  PAGEREF _Toc259635220 \h 170
 HYPERLINK \l "_Toc259635221" 12.2.4 Magic quotes  PAGEREF _Toc259635221 \h 170
 HYPERLINK \l "_Toc259635222" 12.3 Quelques fonctions utiles  PAGEREF _Toc259635222 \h 171
 HYPERLINK \l "_Toc259635223" 12.4 Chronométrer  PAGEREF _Toc259635223 \h 172
 HYPERLINK \l "_Toc259635224" 12.4.1 En secondes  PAGEREF _Toc259635224 \h 172
 HYPERLINK \l "_Toc259635225" 12.4.2 En millisecondes  PAGEREF _Toc259635225 \h 172
 HYPERLINK \l "_Toc259635226" 12.5 Le protocole http  PAGEREF _Toc259635226 \h 173
 HYPERLINK \l "_Toc259635227" 12.6 Les en-têtes HTTP avec PHP (header)  PAGEREF _Toc259635227 \h 176
 HYPERLINK \l "_Toc259635228" 12.6.1 Gestion du cache client  PAGEREF _Toc259635228 \h 176
 HYPERLINK \l "_Toc259635229" 12.6.2 Gestion des jeux de caractères  PAGEREF _Toc259635229 \h 177
 HYPERLINK \l "_Toc259635230" 12.7 Un chat  PAGEREF _Toc259635230 \h 179
 HYPERLINK \l "_Toc259635231" 12.8 Exécuter un script PHP à une date précise ou périodiquement  PAGEREF _Toc259635231 \h 184
 HYPERLINK \l "_Toc259635232" 12.8.1 Le script PHP à exécuter  PAGEREF _Toc259635232 \h 184
 HYPERLINK \l "_Toc259635233" 12.8.2 A partir d'un script PHP  PAGEREF _Toc259635233 \h 184
 HYPERLINK \l "_Toc259635234" 12.8.3 Lancer le navigateur  PAGEREF _Toc259635234 \h 186




HTML et PHP



Généralités sur PHP
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.

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).

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.

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.

 HYPERLINK "http://www.phpfrance.com/documentation.php" http://www.phpfrance.com/documentation.php

 HYPERLINK "http://www.php.net/manual/fr/" http://www.php.net/manual/fr/

 HYPERLINK "http://dev.mysql.com/doc/mysql/fr/index.html" http://dev.mysql.com/doc/mysql/fr/index.html



Références hors ligne.

php_5_fr.chm.


Le fonctionnement du WEB statique

Le WEB (www) fonctionne en mode Client/Serveur via le protocole HTTP.

 EMBED MSPhotoEd.3 

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 :
Une ligne de requête (protocole, url, éventuellement des données),
Les champs d'en-tête de la requête,
Le corps de la requête.


Une réponse HTTP est un ensemble de lignes envoyées du serveur au navigateur.
Elle comprend :
Une ligne de statut,
Le corps de la réponse.

Cf les détails en Annexes.


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.

 EMBED MSPhotoEd.3 


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.

 EMBED MSPhotoEd.3 

Editeurs

NetBeans (Gratuit, Sun), Eclipse (Gratuit, Eclipse), DreamWeaver (Paysant, Adobe), PHP Edit(Gratuit), etc.

NetBeans

Téléchargez-le à  HYPERLINK "http://netbeans.org/" http://netbeans.org/
Puis installez-le.




Eclipse for PHP

EasyEclipseFor PHP : easyeclipse-php-1.2.2.2.exe
Téléchargez-le à :  HYPERLINK "http://www.easyeclipse.org/site/distributions/php.html" http://www.easyeclipse.org/site/distributions/php.html
Installez-le.

Créez avant la création du premier workspace un dossier php2 dans votre arborescence de site web (par exemple C:\xampp\htdocs\php2)

Lancez EasyEclipseFor PHP





Créez un nouveau projet,
Créez un nouveau fichier,
Vérifiez la configuration du projet ou du workspace.





Configuration du Workspace ou du projet (Sélectionnez le projet, cliquez droit, Properties, PHP Project Settings).



ou pour un sous site




Dreamweaver (ADOBE)




Une page PHP avec du HTML

L'écran



Le code de premier_php.php





Premier PHP



Du HTML






Si vous affichez la source dans le navigateur vous obtenez ça :





Premier PHP



Du HTML

31 Jan 2009



Commentaires

Les balises sont les balises standards.
Le code PHP est intégré dans une page HTML.
Le code PHP génère du code HTML, le seul qui est envoyé au navigateur et interprétable par celui-ci (nous verrons par la suite que l'on intègre aussi des codes autres, interprétables par le navigateur, du javascript ou du css par exemple).
L'instruction echo et la fonction print sont utilisées pour générer du code HTML.

La syntaxe de echo est la suivante :

echo chaîne1 [, chaîne2, …];

La syntaxe de print est la suivante :

print(chaîne);

Notez le caractère d'échappement \ devant les ".
Ainsi que le \n ou \r\n qui génère un saut de ligne dans le code source.


Une page 100% PHP

L'écran



Le code









CONSTANTES, VARIABLES, OPERATEURS



Conventions de langage

Les noms des variables sont sensibles à la casse et précédés par un $.
Les lettres, _ et chiffres sont autorisés pour composer les noms.
Par convention les noms des variables sont en minuscules avec des majuscules en début de noms composés ou un underscore comme séparateur de mots.
Les noms des fonctions et les noms des constantes ne sont pas sensibles à la casse.
Par convention les noms des constantes sont en majuscules.

Les commentaires

// En début de ligne ou en fin de ligne. Tout ce qui suit est ignoré.

/*
Bloc de lignes en commentaires
*/

Les constantes

Une constante est un identificateur qui ne change pas de valeur. Le nom de la constante n'est pas sensible à la casse. Son identificateur n'est pas précédé par un $.
On définit une constante avec l’opérateur define.
On teste son existence avec defined("NOM_DE_CONSTANTE");

Syntaxe : define("NOM_DE_CONSTANTE",valeur)

Exemples

define("SALUTATION","Bonjour");
define("PI",3.14);

echo "", SALUTATION;
if(defined("PI")) echo PI;


Les variables

Les variables sont de types implicites et n'ont pas d'espace de code de déclarations (Interprétation et non compilation).
Les identificateurs des variables sont précédés par un $.

Exemples

$lsMot = "Bonjour";
$liCtr = 1;

Les types de PHP sont les suivants:
entiers (int)
réel (double)
chaîne (string)
booléen (boolean)
tableau (array)
objet (object)

Pour les booléens notez que True renvoie 1 et False renvoie vide.


Portée

Les variables "superglobales" $_SERVER, $_GET, $_POST, $_REQUEST, $_COOKIE, … (informations sur le serveur, contenu de l'url, ...) sont disponibles dans chaque script.
Ce sont des tableaux associatifs ou tableaux à clés.



Les constantes sont globales (Disponibles dans tout le document).



Les variables déclarées dans un script (hors d'une fonction) sont locales au script, ie disponible dans tout le script mais inaccessibles dans les fonctions.
Les variables déclarées dans une fonction sont locales à la fonction.



Les variables déclarées comme globales (qualificateur global) dans les fonctions font référence à une variable déclarée comme globale au niveau du script : elles sont donc globales au script.



Les variables déclarées comme statiques dans une fonction (qualificateur static) sont statiques (locales globales).



Tableau récapitulatif

Niveau / QualificateurAucun qualificateurQualificateur globalQualificateur staticScriptLocale (ie partout dans le script sauf dans les fonctions)Globale(FunctionLocale (ie dans la fonction)Globale (à condition qu'elle est été déclarée global dans le script).Locale-globale

Ecran et script sur les constantes