Sommaire
Sommaire . 1
Lire aussi .. 4
Concevez votre site web avec PHP et MySQL . 6
Partie 1 : Les bases de PHP 7
Introduction à PHP 7
Les sites statiques et dynamiques 7
Comment fonctionne un site web ? .. 7
Cas d'un site statique .. 8
Cas d'un site dynamique 9
Les langages du Web .. 9
Pour un site statique : XHTML et CSS 9
Pour un site dynamique : ajoutez PHP et MySQL .. 10
PHP génère du XHTML 11
Et la concurrence ? . 11
Les concurrents de PHP . 12
Les concurrents de MySQL 12
Plusieurs combinaisons sont possibles 13
Préparer son ordinateur .. 14
De quels programmes a-t-on besoin ? . 14
Avec un site statique . 14
Avec un site dynamique .. 14
Sous Windows : WAMP .. 14
Sous Mac OS X : MAMP . 18
Sous Linux : XAMPP . 22
Utiliser un bon éditeur de fichiers 25
Sous Windows . 26
Sous Mac OS X 30
Sous Linux .. 31
Premiers pas avec PHP .. 32
Les balises PHP .. 33
La forme d'une balise PHP . 33
Insérer une balise PHP au milieu du code XHTML 34
Afficher du texte .. 35
L'instruction echo 35
Enregistrer une page PHP . 37
Tester la page PHP 38
Comment PHP génère du code XHTML . 39
Les commentaires .. 39
Les commentaires monolignes 40
Les commentaires multilignes .. 40
Inclure des portions de page . 42
Le principe .. 42
Le problème .. 43
La solution .. 44
La pratique . 44
Les variables . 46
Qu'est-ce qu'une variable ? 47
Un nom et une valeur 47
Les différents types de variables . 47
Affecter une valeur à une variable .. 48
Premières manipulations de variables . 48
Utiliser les types de données 49
Afficher et concaténer des variables . 51
Afficher le contenu d'une variable .. 51
La concaténation . 51
Faire des calculs simples 53
Les opérations de base : addition, soustraction .. 53
Le modulo .. 54
Et les autres opérations ? .. 54
Les conditions .. 55
La structure de base : If Else 56
Les symboles à connaître .. 56
La structure If Else . 57
Le cas des booléens . 58
Des conditions multiples . 59
L'astuce bonus . 60
Une alternative pratique : Switch . 61
Les ternaires : des conditions condensées 63
Les boucles 64
Une boucle simple : While .. 65
Une boucle plus complexe : For .. 67
Les fonctions . 69
Qu'est-ce qu'une fonction ? 69
Dialogue avec une fonction 69
Les fonctions en PHP 70
Les fonctions prêtes à l'emploi de PHP 71
Traitement des chaînes de caractères . 72
Récupérer la date 73
Créer ses propres fonctions .. 74
1er exemple : dis bonjour au Monsieur 74 2ème exemple : calculer le volume d'un cône . 76 Les tableaux .. 79
Les deux types de tableaux 79
Les tableaux numérotés .. 79
Les tableaux associatifs .. 81
Parcourir un tableau .. 82
La boucle for .. 82
La boucle foreach 83
Afficher rapidement un array avec print_r .. 85
Rechercher dans un tableau . 85
Vérifier si une clé existe dans l'array : array_key_exists . 85
Vérifier si une valeur existe dans l'array : in_array . 86
Récupérer la clé d'une valeur dans l'array : array_search . 87
Partie 2 : Transmettre des données de page en page . 88
Transmettre des données avec l'URL .. 88
Envoyer des paramètres dans l'URL . 88
Former une URL pour envoyer des paramètres .. 88
Créer un lien avec des paramètres 89
Récupérer les paramètres en PHP 89
Ne faites jamais confiance aux données reçues ! .. 90
Tous les visiteurs peuvent trafiquer les URL . 91
Tester la présence d'un paramètre . 91
Contrôler la valeur des paramètres 92
Transmettre des données avec les formulaires .. 95
Créer la base du formulaire 96
La méthode 96
La cible . 96
Les éléments du formulaire 97
Les petites zones de texte . 97
Les grandes zones de texte .. 99
La liste déroulante .. 99
Les cases à cocher . 100
Les boutons d'option .. 101
Les champs cachés 101
Ne faites jamais confiance aux données reçues : la faille XSS 102
Pourquoi les formulaires ne sont pas sûrs .. 102
La faille XSS : attention au code HTML que vous recevez ! .. 104
L'envoi de fichiers . 106
Le formulaire d'envoi de fichier . 107
Le traitement de l'envoi en PHP 108
TP : page protégée par mot de passe 111
Instructions pour réaliser le TP .. 112
Les prérequis .. 112
Votre objectif 112
Comment procéder ? .. 112
A vous de jouer ! 113
Correction . 113
Aller plus loin .. 115
Variables superglobales, sessions et cookies 116
Les variables superglobales 117
Les sessions 117
Fonctionnement des sessions 118
Exemple d'utilisation des sessions .. 118
L'utilité des sessions en pratique . 120
Les cookies . 120
Qu'est-ce qu'un cookie ? .. 120
Ecrire un cookie 121
Afficher un cookie . 123
Modifier un cookie existant .. 124
Lire et écrire dans un fichier 125
Autoriser l'écriture de fichiers (chmod) .. 125
Ouvrir et fermer le fichier .. 126
Lire et écrire dans le fichier . 127
Lire .. 127
Ecrire .. 128
Partie 3 : Stocker des informations dans une base de données .. 129
Présentation des bases de données .. 130
Le langage SQL et les bases de données .. 130
Les SGBD s'occupent du stockage . 130
Vous donnez les ordres au SGBD en langage SQL 131
PHP fait la jonction entre vous et MySQL 131
Structure d'une base de données 132
Mais où sont enregistrées les données ? . 133 phpMyAdmin .. 134
Créer une table .. 135
Les types de champs MySQL . 137
Les clés primaires 138
Modifier une table . 139
Autres opérations . 141
SQL . 141
Importer . 142
Exporter . 143
Opérations 145
Vider 145
Supprimer . 145
Lire des données .. 146
Se connecter à la base de données en PHP . 147
Comment se connecte-t-on à la base de données en PHP ? 147
Activer PDO . 148
Se connecter à MySQL avec PDO .. 148
Tester la présence d'erreurs 149
Récupérer les données . 150
Faire une requête . 151
Votre première requête SQL .. 152
Afficher le résultat d'une requête .. 152
Afficher seulement le contenu de quelques champs .. 154
Les critères de sélection .. 155
WHERE . 155
ORDER BY .. 156
LIMIT .. 157
Construire des requêtes en fonction de variables 159
La mauvaise idée : concaténer une variable dans une requête 159
La solution : les requêtes préparées .. 160
Ecrire des données . 162
INSERT : ajouter des données .. 163
La requête INSERT INTO permet d'ajouter une entrée 163
Application en PHP . 164
Insertion de données variables grâce à une requête préparée . 165
UPDATE : modifier des données .. 165
La requête UPDATE permet de modifier une entrée .. 165
Application en PHP . 166
Avec une requête préparée . 167
DELETE : supprimer des données .. 167
TP : un Mini-Chat . 168
Instructions pour réaliser le TP .. 169
Prérequis .. 169
Objectifs 169
Structure de la table MySQL .. 170
Structure des pages PHP . 170
Rappels sur les consignes de sécurité .. 171
A vous de jouer ! 172 Correction . 172 : formulaire et liste des derniers messages 172 : enregistrement et redirection .. 173 Aller plus loin .. 174
Les fonctions SQL 175
Les fonctions scalaires .. 175
Utiliser une fonction scalaire SQL 175
Présentation de quelques fonctions scalaires utiles .. 177
Les fonctions d'agrégat . 178
Utiliser une fonction d'agrégat SQL . 178
Présentation de quelques fonctions d'agrégat utiles .. 180
GROUP BY et HAVING : le groupement de données 182
GROUP BY : grouper des données . 182
HAVING : filtrer les données regroupées . 183
Les dates en SQL . 185
Les champs de type date . 185
Les différents types de dates . 185
Utilisation des champs de date en SQL 186
Les fonctions de gestion des dates . 187
NOW() : obtenir la date et l'heure actuelles 187
DAY(), MONTH(), YEAR() : extraire le jour, le mois ou l'année . 188
HOUR(), MINUTE(), SECOND() : extraire les heures, minutes, secondes . 188
DATE_FORMAT : formater une date .. 188
DATE_ADD et DATE_SUB : ajouter ou soustraire des dates 189
TP : un blog avec des commentaires . 190
Instructions pour réaliser le TP .. 190
Prérequis .. 190
Objectifs 190
Structure des tables MySQL 192
Structure des pages PHP . 193
A vous de jouer ! 193 Correction . 193 : la liste des derniers billets .. 194 : affichage d'un billet et de ses commentaires .. 195 Aller plus loin .. 197
Un formulaire d'ajout de commentaire .. 197
Lire aussi
Utiliser les includes . 198
Vérifier si le billet existe sur la page des commentaires .. 198
Paginer les billets et commentaires 198
Réaliser une interface d'administration du blog 199
Les jointures entre tables . 201
Modélisation d'une relation .. 201
Qu'est-ce qu'une jointure ? .. 202
Les jointures internes . 204
Jointure interne avec WHERE (ancienne syntaxe) . 204
Jointure interne avec JOIN (nouvelle syntaxe) .. 206
Les jointures externes 207
LEFT JOIN : récupérer toute la table de gauche .. 207
RIGHT JOIN : récupérer toute la table de droite .. 207
Partie 4 : Utilisation avancée de PHP 210
Créer des images en PHP .. 210
Activer la librairie GD . 210
Les bases de la création d'image . 210
Le header . 210 Créer l'image de base 211
Quand on a terminé : on affiche l'image 212
Texte et couleur . 214
Manipuler les couleurs .. 214
Ecrire du texte 216
Dessiner une forme . 217
Des fonctions encore plus puissantes 219
Rendre une image transparente 220
Mélanger deux images .. 221
Redimensionner une image 223
Les expressions régulières (Partie 1/2) 225
Où utiliser une Regex ? . 226
POSIX ou PCRE ? .. 226 Les fonctions qui nous intéressent .. 226 preg_match . 227 Des recherches simples 227
Et tu casses, tu casses, tu casses .. 228
Le symbole OU .. 229
Début et fin de chaîne 229
Les classes de caractères 230
Des classes simples 230
Les intervalles de classe .. 231
Et pour dire que j'en veux pas ? 231
Les quantificateurs .. 232
Les symboles les plus courants 232
Etre plus précis grâce aux accolades 233
Les expressions régulières (Partie 2/2) 234
Une histoire de métacaractères 235
Alerte mon Général ! Les métacaractères s'échappent ! . 235
Le clas cas des classes 236
Les classes abrégées 236
Construire une Regex complète 237
Un numéro de téléphone .. 237
Une adresse e-mail . 239
Des Regex avec MySQL ! 241
Capture et remplacement . 241
Les parenthèses capturantes . 241
Créez votre bbCode 243
La programmation orientée objet . 247
Qu'est-ce qu'un objet ? .. 247
Ils sont beaux, ils sont frais mes objets . 247
Imaginez un objet . 247
Vous avez déjà utilisé des objets ! .. 250
Créer une classe .. 252
Les variables membres . 252
Les fonctions membres . 253
Créer un objet à partir de la classe . 255
Constructeur, destructeur et autres fonctions spéciales .. 257
Le constructeur : __construct . 257
Le destructeur : __destruct .. 258
Les autres fonctions magiques . 259
L'héritage .. 259
Comment reconnaître un héritage ? 259
Réaliser un héritage en PHP .. 260
Les droits d'accès et l'encapsulation .. 261
Les droits d'accès . 261
L'encapsulation . 262
Partie 5 : Annexes 264
Envoyez votre site sur le web 264
Le nom de domaine 264
Réserver un nom de domaine 264
L'hébergeur . 265
Le rôle de l'hébergeur 266
Lire aussi
Trouver un hébergeur . 267
Commander un hébergement pour votre site web .. 269
Utiliser un client FTP .. 270
Installer un client FTP . 270
Configurer le client FTP . 271
Transférer les fichiers . 272
Accéder à la base de données de l'hébergeur .. 273
Codez proprement .. 276
Des noms clairs . 277
Des noms de variables peu clairs 278
Des noms de variables beaucoup plus clairs . 278
Indentez votre code . 279
Avec un code non indenté 279
Avec un code indenté . 279
Un code correctement commenté 280
Utilisez la documentation PHP ! 281
Accéder à la doc .. 282
Liste des fonctions classées par thème 282
Accès direct à une fonction . 284
Présentation d'une fonction . 284
Apprendre à lire un mode d'emploi . 285
Un autre exemple : date 286
Lisez les exemples ! 287
Au secours ! Mon script plante ! 287
Les erreurs les plus courantes .. 288
Parse error .. 288
Undefined function .. 289
Wrong parameter count . 289
Traiter les erreurs SQL .. 290
Repérer l'erreur SQL en PHP . 290
Allez ! Crache le morceau ! . 290
Quelques erreurs plus rares 291
Headers already sent by 291
L'image contient des erreurs .. 292
Maximum execution time exceeded 293
Protéger un dossier avec un .htaccess . 294
Créer le .htaccess 294
Créer le .htpasswd .. 295
Envoyer les fichiers sur le serveur .. 296
Memento des expressions régulières 297
Structure d'une Regex 298
Classes de caractères 298
Quantificateurs .. 298
Métacaractères .. 299
Classes abrégées 299
Capture et remplacement . 299
Options .. 300
Concevez votre site web avec PHP et MySQL
137 878 visites depuis 7 jours, classé 3/779
Blogs, réseaux sociaux, pages d'accueil personnalisables Depuis quelques années, les sites web ont gagné en fonctionnalités et sont devenus dans le même temps de plus en plus complexes.
Que le temps de la "page web perso" est loin ! Il y a une époque où l'on pouvait se contenter de créer un site basique. Un peu de texte, quelques images : hop là, notre site perso était prêt.
Aujourd'hui, c'est différent : il faut que ça bouge ! On s'attend à ce qu'un site soit régulièrement mis à jour : on veut voir des actualités sur la page d'accueil, on veut pouvoir les commenter, discuter sur des forums, bref, participer à la vie du site.
Le langage PHP a justement été conçu pour créer des sites "vivants" (on parle de sites dynamiques). Et si vous voulez apprendre à créer vous aussi des sites web dynamiques, c'est votre jour de chance : vous êtes sur un cours pour vrais débutants en PHP !
L'essentiel, c'est de lire en entier les chapitres dans l'ordre. Après, ça passe tout seul et vous vous étonnerez bientôt de ce que vous êtes capable de faire !
Pour utiliser PHP, il faut connaître au préalable les langages HTML et CSS.
Comment ça, ces langages ne vous disent rien ? Vous ne savez même pas ce qu'est un "langage" ? Il faut donc que vous lisiez d'abord mon cours de création de site web en HTML5 et CSS3 avant de revenir ici !
Ce cours vous plaît ?
Si vous avez aimé ce cours, vous pouvez retrouver le livre "" du même auteur, en ventesur le Site du Zéro,en librairie et dans les boutiques en ligne. Vous y trouverez ce cours adapté au format papier avec une série de chapitres inédits.
Plus d'informations
Partie 1 : Les bases de PHP
Parce qu'il faut bien commencer quelque part
Découvrez PHP en douceur dans cette première partie.
Introduction à PHP
Ce qui fait le succès du Web aujourd'hui, c'est à la fois sa simplicité et sa facilité d'accès. Un internaute lambda n'a pas besoin de savoir "comment ça fonctionne derrière". Et heureusement pour lui.
En revanche, un apprenti webmaster tel que vous doit, avant toute chose, connaître les bases du fonctionnement d'un site web. Qu'est-ce qu'un serveur et un client ? Comment rend-on son site dynamique ? Que signifient PHP et MySQL ?
Ce premier chapitre est là pour répondre à toutes ces questions et vous montrer que vous êtes capables d'apprendre à créer des sites web dynamiques. Tous les lecteurs seront à la fin rassurés de savoir qu'ils commencent au même niveau !
Les sites statiques et dynamiques
On considère qu'il existe 2 types de sites web : les sites statiques et les sites dynamiques.
Les sites statiques : ce sont des sites réalisés uniquement à l'aide des langages (X)HTML et CSS. Ils fonctionnent très bien mais leur contenu ne peut pas être mis à jour
automatiquement : il faut que le propriétaire du site (le webmaster) modifie le code source pour y ajouter des nouveautés. Ce n'est pas très pratique quand on doit mettre à jour son site plusieurs fois dans la même journée ! Les sites statiques sont donc bien adaptés pour réaliser des sites "vitrine", pour présenter par exemple son entreprise, mais sans aller plus loin. Ce type de site se fait de plus en plus rare aujourd'hui, car dès que l'on rajoute un élément d'interaction (comme un formulaire de contact), on ne parle plus de site statique mais de site dynamique.
Les sites dynamiques : plus complexes, ils utilisent d'autres langages en plus de (X)HTML et CSS, tels que PHP et MySQL. Le contenu de ces sites web est dit "dynamique" parce qu'il peut changer sans l'intervention du webmaster ! La plupart des sites web que vous visitez aujourd'hui, y compris le Site du Zéro, sont des sites dynamiques. Le seul prérequis pour apprendre à créer ce type de site est de déjà savoir réaliser des sites statiques en XHTML et CSS (vous pouvez lire mon cours sur XHTML et CSS pour vous mettre à niveau).
L'objectif de ce cours est de vous rendre capables de réaliser des sites web dynamiques entièrement par vous-mêmes, pas à pas. En effet, ceux-ci peuvent proposer des fonctionnalités bien plus excitantes que les sites statiques. Voici quelques éléments que vous serez en mesure de réaliser :
Un espace membres : vos visiteurs peuvent s'inscrire à votre site et avoir accès à des sections qui leur sont réservées. Un forum : il est courant aujourd'hui de voir les sites web proposer un forum de discussion pour s'entraider ou simplement pour passer le temps.
Un compteur de visiteurs : vous pouvez facilement compter le nombre de visiteurs qui se sont connectés dans la journée sur votre site, ou même connaître le nombre de visiteurs en train de naviguer dessus !
Des actualités : vous pouvez automatiser l'écriture d'actualités, en offrant à vos visiteurs la possibilité d'en rédiger, de les commenter, etc.
Une newsletter : vous pouvez envoyer un e-mail à tous vos membres régulièrement pour leur présenter les nouveautés et les inciter ainsi à revenir sur votre site.
Bien entendu, ce ne sont là que des exemples. Il est possible d'aller encore plus loin, tout dépend de vos besoins. Sachez par exemple que la quasi-totalité des sites de jeux en ligne sont dynamiques. On retrouve notamment des sites d'élevage virtuel d'animaux, des jeux de conquête spatiale, etc.
Mais Ne nous emportons pas. Avant de pouvoir en arriver là, vous avez de la lecture et bien des choses à apprendre ! Commençons par la base : savez-vous ce qui se passe lorsque vous consultez une page web ?
Comment fonctionne un site web ?
Lorsque vous voulez visiter un site web, vous tapez son adresse dans votre navigateur web, que ce soit Mozilla Firefox, Internet Explorer, Opera, Safari ou un autre. Mais ne vous êtes-vous jamais demandé comment faisait la page web pour arriver jusqu'à vous ?
Il faut savoir qu'internet est un réseau composé d'ordinateurs. Ceux-ci peuvent être classés en deux catégories :
Les clients : ce sont les ordinateurs des internautes comme vous. Votre ordinateur fait donc partie de la catégorie des clients. Chaque client représente un visiteur d'un site web. Dans les schémas qui vont suivre, l'ordinateur d'un client sera représenté par cette image :
Les serveurs : ce sont des ordinateurs puissants qui stockent et délivrent des sites web aux internautes, c'est-à-dire aux clients. La plupart des internautes n'ont jamais vu un serveur de leur vie. Pourtant, les serveurs sont indispensables au bon fonctionnement du web. L'image ci-dessous représentera un serveur dans les schémas suivants :
La plupart du temps, le serveur est dépourvu d'écran : il reste allumé et travaille tout seul sans intervention humaine, 24h/24, 7j/7. Un vrai forçat du travail.
On résume : votre ordinateur est appelé le client, tandis que l'ordinateur qui détient le site web est appelé le serveur. Comment les deux communiquent-ils ?
C'est justement là que se fait la différence entre un site statique et un site dynamique. Voyons voir ensemble ce qui change.
Cas d'un site statique
Lorsque le site est statique, le schéma est très simple. Cela se passe en deux temps :
La communication est donc plutôt basique :
"Bonjour, je suis le client, je voudrais voir cette page web."
"Tiens, voilà la page que tu m'as demandée."
Sur un site statique, il ne se passe rien d'autre. Le serveur stocke des pages web et les envoie aux clients qui les demandent sans les modifier.
Cas d'un site dynamique
Lorsque le site est dynamique, il y a une étape intermédiaire : la page est générée.
Le client demande au serveur à voir une page web.
Le serveur prépare la page spécialement pour le client. Le serveur lui envoie la page qu'il vient de générer.
La page web est générée à chaque fois qu'un client la réclame. C'est précisément ce qui rend les sites dynamiques vivants : le contenu d'une même page peut changer d'un instant à l'autre.
C'est comme cela que certains sites parviennent à afficher par exemple votre pseudonyme sur toutes les pages. Étant donné que le serveur génère une page à chaque fois qu'on lui en demande une, il peut la personnaliser en fonction des goûts et des préférences du visiteur (et afficher entre autres son pseudonyme).
Les langages du Web
Lorsqu'on crée un site web, on est amené à manipuler non pas un mais plusieurs langages. En tant que webmaster, il faut impérativement les connaître.
Certains programmes, appelés WYSIWYG (What You See Is What You Get), permettent d'aider les plus novices à créer un site web statique sans connaître les langages informatiques qui se cachent derrière Mais pour réaliser un site dynamique comme nous le souhaitons, nous devrons absolument mettre les mains dans le cambouis.
Pour un site statique : XHTML et CSS
De nombreux langages ont été créés pour produire des sites web. Deux d'entre eux constituent une base incontournable pour tous les webmasters :
XHTML : c'est le langage à la base des sites web. Il ressemble beaucoup au HTML mais impose quelques règles un peu plus strictes. Dans la mesure du possible je recommande d'utiliser XHTML plutôt que HTML car cela vous force à soigner le code source de vos sites.
XHTML est un langage simple à apprendre qui fonctionne à partir de balises. Voici un exemple de code XHTML : Code : HTML
CSS : c'est le langage de mise en forme des sites web. Tandis que le XHTML permet d'écrire le contenu de vos pages web et de les structurer, le langage CSS s'occupe de la mise en forme et de la mise en page. C'est en CSS que l'on choisit notamment la couleur, la taille des menus et bien d'autres choses encore. Voici un code CSS :
Code : CSS
Ces langages sont la base de tous les sites web. Lorsque le serveur envoie la page web au client, il envoie en fait du code en langage XHTML et CSS.
Le serveur envoie du XHTML et du CSS au client
Le problème, c'est que lorsqu'on connaît seulement XHTML et CSS, on ne peut produire que des sites statiques et pas des sites dynamiques ! Pour ces derniers, il est nécessaire de manipuler d'autres langages en plus de XHTML et CSS.
La question qu'il faut vous poser est donc : connaissez-vous XHTML et CSS ?
Si oui, c'est parfait, vous pouvez continuer car nous en aurons besoin par la suite. Si la réponse est non, pas de panique. Ces langages ne sont pas bien difficiles, ils sont à la portée de tous. Vous pouvez les apprendre en lisant mon cours sur XHTML et CSS.
Sachez qu'apprendre ces langages n'est l'affaire que de quelques petites semaines, voire même moins si vous avez suffisamment de temps libre.
Pour un site dynamique : ajoutez PHP et MySQL
Quel que soit le site web que l'on souhaite créer, XHTML et CSS sont donc indispensables. Cependant, ils ne suffisent pas pour réaliser des sites dynamiques. Il faut les compléter avec d'autres langages.
C'est justement tout l'objet de ce cours : vous allez apprendre à manipuler PHP et MySQL pour réaliser un site web dynamique.
PHP : c'est un langage que seuls les serveurs comprennent et qui permet de rendre votre site dynamique. C'est PHP qui "génère" la page web comme on l'a vu sur un des schémas précédents.
Ce sera le premier langage que nous découvrirons dans ce cours. Il peut fonctionner seul, mais il ne prend vraiment de l'intérêt que s'il est combiné à un outil tel que MySQL. Voici un code PHP :
Code : PHP
MySQL : c'est ce qu'on appelle un SGBD (Système de Gestion de Base de Données). Pour faire simple, son rôle est d'enregistrer des données de manière organisée afin de vous aider à les retrouver facilement plus tard. C'est grâce à MySQL que vous pourrez enregistrer la liste des membres de votre site, les messages postés sur le forum, etc. Le langage qui permet de communiquer avec la base de données s'appelle le SQL. Voici un code en langage SQL :
Code : SQL
PHP et MySQL sont ce qu'on appelle des logiciels libres. Entre autres choses, cela vous donne des garanties de pérennité : tout le monde peut contribuer à leur développement, vous ne risquez donc pas de voir tous les webmasters se désintéresser du PHP et de MySQL du jour au lendemain, et ça c'est très important !
D'autre part, PHP et MySQL sont disponibles gratuitement. Cela signifie une chose essentielle : vous n'aurez pas à débourser un centime pour construire votre site web !
PHP peut fonctionner seul et suffit à créer un site dynamique, mais les choses deviennent réellement intéressantes lorsqu'on le combine à un SGBD tel que MySQL. Cependant pour simplifier, oublions pour le moment MySQL et concentrons-nous sur PHP.
PHP génère du XHTML
Les clients sont incapables de comprendre le code PHP, ils ne connaissent que le XHTML et le CSS. Seul le serveur est capable de lire du PHP.
Le rôle de PHP est justement de générer du code XHTML (on peut aussi générer du CSS, mais c'est plus rare), code qui est ensuite envoyé au client de la même manière qu'un site statique :
PHP décide ce qui va être affiché sur la page web envoyée au visiteur
PHP est un langage de programmation utilisé sur de nombreux serveurs pour prendre des décisions. C’est PHP qui décide du code XHTML qui sera généré et envoyé au client à chaque fois.
Pour bien comprendre l’intérêt de tout cela, prenons un exemple. On peut écrire en PHP : "Si le visiteur est membre de mon site et qu’il s’appelle Jonathan, affiche Bienvenue Jonathan sur la page web. En revanche, si ce n’est pas un membre de mon site, affiche Bienvenue à la place et propose au visiteur de s’inscrire."
C'est un exemple très basique de site dynamique : selon que vous êtes un membre enregistré ou pas, vous ne verrez pas les mêmes choses et n'aurez peut-être pas accès à toutes les sections.