Mardi 5 août 2008,
Le PHP est un langage utilisé pour une grande majorité de sites internet. Il est aussi beaucoup utilisé dans les intranets des entreprises ou pour créer des web services. Nous allons ici découvrir les notions de base de ce langage.
Nous allons commencer par quelques généralités puis nous aborderons les notions de base, enfin nous verrons quelques fonctionnalités.
Introduction au développement web : le PHP/MySQL
INTRODUCTION
a) Qu’est ce qu’est le langage PHP ?
b) Historique
c) Fonctionnement
d) Pré requis
II) NOTIONS DE BASE
a) La syntaxe
b) Les variables
c) Les conditions
d) Les boucles
III) QUELQUES FONCTIONNALITES DE PHP
a) Les dates
b) Les formulaires
c) Interaction avec MySQL
d) Envoi de mail avec PHP
CONCLUSION
INTRODUCTION
Le PHP est un langage utilisé pour une grande majorité de sites internet. Il est aussi beaucoup utilisé dans les intranets des entreprises ou pour créer des web services. Nous allons ici découvrir les notions de base de ce langage.
Nous allons commencer par quelques généralités puis nous aborderons les notions de base, enfin nous verrons quelques fonctionnalités.
I) GENERALITES
a) Qu’est ce qu’est le langage PHP ?
Le langage PHP est un langage de programmation exécuté par le serveur qui héberge le site internet. Il sert à générer le plus souvent des pages internet, mais il peut aussi générer des images, des documents PDF, des fichiers Zip et autres…
Il a été crée pour faire des applications web dynamiques et il est installé sur la plupart des serveurs web existant : IIS, Apache…
C’est un langage facile à apprendre car il est peu typé et permet l’utilisation des formulaires ainsi que l’accès aux bases de donnés.
Sa force est son omniprésence dans les différentes offres d’hébergement.
b) Historique
Ce langage fut crée en 1994 par Rasmus Lerdorf pour son site Web. C’était une bibliothèque en Perl lui servant à conserver une trace des visiteurs qui venait consulter son CV. Tout en ajoutant de nouvelles fonctionnalités il a transformé sa bibliothèque en une implémentation en langage C capable de communiquer avec les bases de données.
En 1995 Rasmus décida de publier son code, il s’appelait alors PHP/FI (Personal Home Page Tools/Form Interpreter).
En 1997 deux étudiants : Andi Gutmans et Zeev Suraski, redéveloppèrent le cœur de PHP/FI et donnèrent naissance au Zend Engine, nouveau cœur de PHP devenu alors PHP3.
Il était utilisé en 2002 par plus de 8 millions de sites web, et en 2004 par plus de 15 millions.
La version 5 de PHP est sortie le 13 juillet 2004, elle utilise le Zend Engine 2 et propose une programmation orientée objet.
La version actuelle est la 5.2.4 et date du 31 août 2007.
c) Fonctionnement
Lorsqu’un utilisateur demande la page index.php, son ordinateur envoi une requête HTTP au serveur. Si cette page contient du code PHP, il est interprété par le serveur qui génère du code envoyé ensuite à l’ordinateur qui en a fait la demande.
Comme nous avons pu le voir précédemment les scripts PHP peuvent faire appel à des requêtes MySQL, elles sont alors traitées durant l’exécution du script PHP.
d) Pré requis
Je vous conseille tout d’abord de connaitre un peu le HTML si vous souhaitez créer un site internet en PHP car vous en aurez besoin !
Pour pouvoir faire du développement PHP il vous faut un hébergeur internet qui accepte le PHP (la plupart le sont) ou avoir son propre serveur Apache ou IIS avec PHP d’installé ou sinon vous pouvez l’installer sur votre ordinateur grâce à Wamp ou à EasyPHP pour créer vos scripts localement.
Pour créer vos scripts vous pouvez utiliser le Bloc Note de Windows ou je vous recommande Notepad++ pour la coloration syntaxique ou des outils plus évolués tels que PHP Edit.
II) NOTIONS DE BASE
a) La syntaxe
Passons maintenant aux choses sérieuses !
Tout script PHP porte l’extension .php (cela peut aussi être .php3 …)
Le script PHP commence par la balise : < ?php
Il se termine par la balise : ?>
Dans un ficher .php seul les commandes placés entre ces 2 balises est exécuté, le reste est affiché tel-quel.
Dans un même fichier il peut y avoir plusieurs blocs de script PHP.
Les slaches servent à commenter des lignes de code ainsi que les balises /* et */
Exemple :
< ?php
Ce code sera exécuté par l’interpréteur
//Ce code ne sera ni affiché ni exécuté
Ce code sera exécuté par l’interpréteur
/*Ce code ne sera ni affiché ni exécuté
Ce code ne sera ni affiché ni exécuté
*/
Ce code sera exécuté par l’interpréteur
?>
Le texte d’ici sera affiché tel quel
ATTENTION :
Comme beaucoup de langage, chaque instruction doit se terminer par un point virgule : ;
Pour afficher du texte c’est très simple, on utilise la fonction echo :
Exemple :
< ?php
echo "Bonjour tout le monde" ;
?>
Cela affichera : Bonjour tout le monde
Vous avez certainement remarqué que j’ai utilisé des guillemets autour de mon texte, on peut aussi utiliser des apostrophes.
Si vous essayez d’afficher un guillemet vous vous rendrez vite compte que cela produit une erreur, il faut utiliser un caractère d’échappement (l’antislash) pour dire à l’interpréteur d’exécuter le guillemet comme un caractère normal :
< ?php
echo "ceci est un guillemet : \" " ;
?>
Vous pouvez aussi insérer du code HTML :
< ?php
echo "<strong>ceci est un guillemet : \"</strong> " ;
?>
Cela affichera le texte en gras.
b) Les variables
Une variable est une information gardée en mémoire durant l’exécution du script, c’est-à-dire que lorsque le script a fini d’être exécuté les variables sont effacées.
Les variables peuvent contenir différents types d’informations : des chaines de caractères, des nombres, des booléens, des tableaux …
< ?php
//exemple de variable texte :
$texte="Bonjour tout le monde" ;
//exemple de variable numérique :
$nombre=3 ;
//exemple de variable booléenne :
$bool=true ;
?>
Maintenant on veut afficher le contenu d’une variable, c’est tout simple :
< ?php
echo $texte ;
?>
Vous avez certainement remarqué que je n’ai pas mis de guillemets, ce n’est pas nécessaire pour les variables, si vous les mettez cela marchera tout autant.
A l’aide des variables nous pouvons faire les différents calculs simples à l’aide des quatre opérations de base : addition, soustraction, multiplication, division.
< ?php
//exemple d’addition
$nombre=10+4 ;
echo $nombre ; //cela affichera 14
//exemple de soustraction
$nombre=10-4 ;
echo $nombre ; //cela affichera 6
//exemple de multiplication
$nombre=10*4 ;
echo $nombre ; //cela affichera 40
//exemple de division
$nombre=20/4 ;
echo $nombre ; //cela affichera 5
?>
Nous pouvons aussi faire ces opérations directement avec les variables :
< ?php
//exemple d’addition
$a=10
$b=15
$nombre=$a+$b ;
echo $nombre ; //cela affichera 25
//exemple de soustraction
$nombre=$b-$a ;
echo $nombre ; //cela affichera 5
?>
Il existe deux types de tableaux : les tableaux numérotés et les tableaux associatifs
Nous pouvons affecter des valeurs à un tableau :
< ?php
// On crée notre tableau numéroté :
$jour = array ("Lundi", "Mardi", "Mercredi", "Jeudi") ;
// Pour afficher le jour 3 : Mercredi
echo $ jour[3] ;
// On crée notre tableau associatif :
$coordonnees = array (
"Nom" => "Durant",
"Prénom" => "Pierre",
"Adresse" => "15, rue du Parc",
"Ville" => "Paris") ;
// Pour afficher le nom :
echo $coordonnees[’Nom’] ;
?>
c) Les conditions
Les conditions sont très utilisées en PHP.
Tout d’abord avant de commencer, voyons les différents symboles que nous utiliseront pour les conditions :
== |
Est égal à |
!= |
Est différent de |
> |
Est strictement supérieur à |
< |
Est strictement inférieur à |
>= |
Est supérieur ou égal à |
<= |
Est inférieur ou égal à |
L’utilisation dela structure Ifest très simple :
Nous allons prendre un exemple simple :
SI $a est égal à 15
ALORS on écrit ‘Bonjour’
< ?php
$a=15
if($a=15)
echo "Bonjour" ;
?>
Les conditions sont placées entre parenthèse après le if.
Le code qui est exécuté si la condition est remplie, est placé entre accolades.
Nous pouvons aussi spécifier du code si la condition n’est pas remplie grâce à la clause else :
< ?php
$a=3
if($a=15)
echo $a ;
else
echo "ce nombre est différent de 15" ;
?>
Si vous souhaitez intégrer plusieurs conditions dans votre if vous pouvez utiliser pour :
-OUla syntaxe ORou encore ||
-ETla syntaxe ANDou encore &&
< ?php
$a=3
if(($a=15) OR ($a=3))
//cela est équivalent à (($a=15)||($a=3))
echo $a ;
else
echo "ce nombre est différent de 3 ou de 15" ;
?>
Il y a une alternative à l’utilisation de cette structure, dans le cas d’un choix multiple : le switch.
Supposons que sur votre site l’utilisateur ait le choix entre 3 pays et qu’en fonction de ce pays vous souhaitiez afficher un message différent :
< ?php
$pays="france" ;
switch($pays)
case "france" :
echo "bonjour petit français" ;
break ;
case "angleterre" :
echo "hello !" ;
break ;
case "espagne" :
echo "Buenas dias !" ;
break ;
default :
echo "Je ne connais pas ton pays ! " ;
?>
Les accolades servent à marquer le début et la fin du switch.
Après chaque cas il y a un break ce qui sert à arrêter le switch, sinon il continuera d’exécuter les autres cas.
d) Les boucles
Une boucle permet de répéter plusieurs fois la même suite d’opérations. Pour sortir de la boucle il faut lui spécifier une condition de sortie.
< ?php
$nombre=1 ;
while($nombre<=10)
$nombre++ ; //incrémentation de $nombre
//cela est équivalent à : $nombre=$nombre+1 ;
//instructions dans la boucle
?>
Dans cet exemple la boucle sera exécutée 10 fois.
ATTENTION :
Il faut toujours que la condition ne soit pas remplie au moins une foi car sinon votre script s’exécutera à l’infini !
Maintenant passons à un type de boucle un peu différent : la boucle for
La boucle for est assez semblable à la boucle while, sa syntaxe est :
for(initialisation ; condition ; incrémentation).
Reprenons le même exemple : une boucle exécute 10 fois :
< ?php
for($nombre=1 ; $nombre<=10 ; $nombre++ ;)
//instructions dans la boucle
?>
Vous pouvez constater que cela rassemble toutes les informations sur une ligne.
La principale différence entre for et while est que l’utilisation de for ne peut se faire que s’il y a incrémentation d’un nombre.
III) QUELQUES FONCTIONNALITES DE PHP
a) Les dates
Nous allons maintenant voir différentes fonctionnalités de PHP, avant de continuer, je vous conseille d’avoir bien compris ce que nous avons déjà vu.
L’utilisation de la fonction date est très fréquente en PHP, elle sert à donner la date, l’heure du serveur. Attention, il s’agit bien ici de l’heure du serveur et non pas celle de l’ordinateur sur lequel vous vous trouvez !
Prenons un exemple :
< ?php
$heure = date(’H:i’) ;
echo ’Il est : ’ . $heure ;
?>
Cela affichera « Il est 18:50 »
Nous pouvons voir ici que H désigne l’heure et que le i désigne les minutes.
Voici le tableau de correspondance entre les lettres et leur signification :
Lettre |
Signification |
Valeurs possibles |
s |
Secondes |
00 à 59 |
i |
Minutes |
00 à 59 |
H |
Heure |
00 à 23 |
I |
Indique si l’heure d’été est activée (1 = oui, 0 = non) |
0 ou 1 |
O |
Différence d’heures avec l’heure GMT (Greenwich) |
-1200 à +1200 |
d |
Jour du mois |
01 à 31 |
m |
Mois de l’année |
01 à 12 |
Y |
Année, sur 4 chiffres |
Beaucoup de possibilités |
y |
Année, sur 2 chiffres |
Beaucoup de possibilités |
L |
Indique si l’année est bissextile (1 = oui, 0 = non) |
0 ou 1 |
l |
Jour de la semaine écrit en anglais |
Sunday à Saturday |
F |
Mois écrit en anglais |
January à December |
t |
Nombre de jours dans le mois |
28 à 31 |
w |
Numéro du jour de la semaine |
0 (dimanche) à 6 (samedi) |
W |
Numéro de la semaine dans l’année |
01 à 52 |
z |
Numéro du jour de l’année |
0 à 366 |
Maintenant je veux afficher « Il est 18 heures 50 »
C’est tout simple :
< ?php
$heure = date(’H \H\e\u\r\e\s i’) ;
echo ’Il est : ’ . $heure ;
?>
On utilise un caractère d’échappement : l’antislash, il permet d’éviter que le caractère soit interprété comme une lettre à transcrire.
Le timestamp, c’est le nombre de secondes écoulées depuis le 1er Janvier 1970 à Minuit.
< ?php
echo ’Le timestamp actuel est : ’ . time() ;
?>
Affichera « Le timestamp actuel est : 1194458682 »
On peut aussi récupérer la date en fonction du timestamp :
< ?php
$timestamp=1194458682 ;
echo date(’H\h i\m\i\n s\s’, $timestamp) ;
?>
Affichera « 19h 04min 42s »
En PHP pour les dates je préfère utiliser le timestamp car il est plus simple à utiliser et à stoker.
b) Les formulaires
Je n’aborderai pas ici comment faire un formulaire en HTML, car le but de ce document n’est pas de vous apprendre le HTML, mais je vais vous expliquer comment récupérer les informations contenu dans celui-ci.
Un petit rappel tout de même, lorsque vous créez un formulaire, il commence par :
<formmethod="post"action="cible.php">
ou
<formmethod="get"action="cible.php">
La méthode get passe toutes les valeurs des champs du formulaire dans l’url. La méthode post quand à elle envoie les valeurs des formulaires avec la requête de manière invisible par l’utilisateur. Je vous recommande cette dernière car elle est plus souple et sans limitations (la méthode get est limité par la longueur le l’url).
Prenons par exemple un champ texte simple :
<input type="text" name="nom" />
< ?php
$nom = $_GET[’nom’] ;//si on a utilisé la méthode GET
$nom = $_POST[’nom’] ;//si on a utilisé la méthode POST
?>
Vous pouvez maintenant utiliser la variable $nom comme bon vous semble.
c) Interaction avec MySQL
Ce document n’est qu’une introduction au développement Web c’est pour cela que je ne m’éterniserai pas sur cette partie, mais c’est une partie très importante si vous vous décidez à développer en PHP. Je vous recommande donc de l’approfondir. Elle requière de connaitre un minimum les requêtes SQL.
Pour accéder à une base de donné, il faut tout d’abord se connecter, puis envoyer notre requête, récupérer le résultat et ne pas oublier de fermer la connexion.
Voici un exemple très simple pour afficher tous les noms de la base essai.
< ?php
// Connexion à MySQL
mysql_connect("localhost","login", "password") ;
mysql_select_db("test") ; //Sélection de la base test
//on exécute notre requête :
$reponse = mysql_query("SELECT * FROM essai") ;
//on fait une boucle pour afficher le contenu
while ($donnees = mysql_fetch_array($reponse) )
//on affiche tous les noms contenus dans la table essai
echo $donnees[’nom’] ;
//un petit retour à la ligne :
echo ’<br />’ ;
// On a fini de travailler, on ferme la connexion :
mysql_close() ; // Déconnexion de MySQL
?>
d) Envoi de mail avec PHP
Cette fonctionnalité est limitée voire désactivé chez certains hébergeurs, mais chez la plupart elle est activée.
Pour l’utiliser, c’est très simple il suffit de d’appeler la fonction mail :
mail(email du destinataire, titre du mail, message, en-tête du message) ;
L’en-tête est la partie cachée du message qui est envoyé. Il permet, par exemple de spécifier l’expéditeur.
Voici un exemple :
< ?php
mail("Cette adresse e-mail est protégée contre les robots spammeurs. Vous devez activer le JavaScript pour la visualiser.", "titre", "message", "From : Cette adresse e-mail est protégée contre les robots spammeurs. Vous devez activer le JavaScript pour la visualiser.\n") ;
?>
Ca y est, vous avez envoyé votre premier mail en PHP !
CONCLUSION
Vous avez pu découvrir en lisant ce document les bases de la programmation en PHP. Je vous conseille de vous exercer en faisant des petits scripts à l’aide des connaissances que vous avez accumulé durant votre lecture. Si cela vous a plu je vous conseille de poursuivre cette formation grâce à des sites spécialisés.
Sources :
Wikipédia : http://fr.wikipedia.org
Site du zéro : http://www.siteduzero.com
PHP.net : http://www.php.net