Académique Documents
Professionnel Documents
Culture Documents
1
Pourquoi le PHP?
HTML est statique
Impossible de mettre automatiquement la date
Impossible d’envoyer des fichiers
Impossible d’utiliser les formulaires
2
Pourquoi le PHP ?
Par contre, on pourra :
Personnaliser la page par l’utilisateur
Envoyer des fichiers
Faire un compteur de visiteurs
Envoyer des mails automatiquement
Faire des sections privées
Créer un système de caddie (pour les sites marchands)
…
3
Qu’est ce que le PHP ?
Création du code
html grâce au
Aller sur fichier toto.php
www.ici.net/toto.php
Navigateur Toto.php ?
Web Serveur Web
Ordinateur Toto.html
Client Ordinateur
IP Serveur (123.123.321.321)
Qui est 123.123.321.321
www.ici.net
DNS
4
Le PHP
Étapes nécessaires pour consulter une page PHP :
1. Le client demande à voir une page PHP.
Requête DNS pour avoir l’adresse IP
Demande au serveur de la page (par exemple toto.php)
2. Le serveur génère la page. En effet, le client n'est pas
capable de lire une page PHP : il ne peut lire que des
pages HTML.
Le PHP est une suite d’instruction pour dire comment créer la
page HTML
Le serveur va donc transformer la page PHP en page HTML.
3. Enfin, une fois que la page est générée, elle ne contient
plus que du code HTML. Le serveur l'envoie alors au
client.
5
Comment ça marche?
Méthode simple :
On fait une page HTML comme d’ab
On décide de l’endroit où insérer le résultat d’un calcul
Nombre de visiteurs
Date du jour
On met le code PHP au bon endroit
Méthode compliquée :
Pas pour tout de suite ;-)
(permettra de simplifier notre travail, mais le principe sera le
même)
6
Un petit exemple
Ce code affichera en titre la date du jour :
<html>
<head>
</head>
<h1> <?php
$date = date("d-m-Y");
$heure = date("H:i");
Print("Nous sommes le $date et il est $heure");
?> </h1>
</body>
</html>
En effet, le serveur remplacera tout ce qui se trouve entre
les balises <?php et ?> par ce qui est affiché par Print.
7
La baliste PHP
Pour insérer du code à l’intérieur d’une page HTML, il
faut utiliser les balises PHP :
<?php permet de définir le début du code
?> permet de dire que la suite est du HTML
Le serveur interprète ce qui se trouve entre ces balises
Si il n’y a pas de print, rien ne sera substitué
S’il y a un ou plusieurs print, c’est l’affichage qui sera
substitué
On peut considérer que le print « écrit » dans le document
HTML qui sera renvoyé
8
Exemple d’utilisation de PHP
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<head>
<title>Titre de la page</title>
<meta http-equiv="Content-Type" content="text/html;
charset=iso-8859-1"/>
</head>
<body>
<h1>Exemple de page PHP</h1>
<h2>Le premier titre !</h2>
<p /><?php print("mon premier texte PHP !");?></p>
</body>
</html>
9
Page HTML générée :
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<head>
<title>Titre de la page</title>
<meta http-equiv="Content-Type" content="text/html;
charset=iso-8859-1"/>
</head>
<body>
<h1>Exemple de page PHP</h1>
<h2>Le premier titre !</h2>
<p />mon premier texte PHP !</p>
</body>
</html>
10
Le langage PHP
Toutes les lignes finissent par un ;
Les variables sont des mots précédées du $
$var, $cpt, $tab…
Les commentaires sont comme en C++ : //
Le caractère d’échappement est le \ :
Print("j’affiche un \" !");
Print("valeur de \$var : $var");
11
Les variables
En PHP, utiliser les variables, c’est très simple :
Pas besoin de donner de type !
Le type est deviné par l’ordinateur :
$var =10; //$var est de type entier
$var="bonjour"; //$var est de type string
$var=[]; //$var est de type tableau
Simplifie la vie, mais sources d’erreurs
12
Les variables
En PHP, utiliser les variables, c’est très simple :
Les opérations sont comme en C++ :
+ pour sommer
- pour soustraire
/ pour diviser
* pour multiplier
. pour concaténer les chaines de caractères
Les parenthèses s’utilisent très simplement
$result=$var1*($var2+$var3);
13
Les variables
En PHP, utiliser les variables, c’est très simple :
Les opérations sont comme en C++ :
+ pour sommer
- pour soustraire
/ pour diviser
* pour multiplier
. pour concaténer les chaines de caractères
Les parenthèses s’utilisent très simplement
$result=$var1*($var2+$var3);
14
Transmettre les valeurs
Dans le cas d’une seule page, on peut considérer que la
page est un programme
Dans le cas d’un site, une page peut être considérée
comme une fonction
Comment passer des valeurs à une autre page
Exemple :
Dans la page d’accueil, on demande le nom à l’utilisateur
Comment retrouver le nom dans les autres pages ?
15
Transmission des variables
Utiliser l’adresse du site :
http://tibo.lelore.free.fr/test.php?nom=titi&age=25
$_GET[‘age'] renvoie « 25 »
16
Exemple bis de code PHP
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<head>
<title>Titre de la page</title>
<meta http-equiv="Content-Type" content="text/html;
charset=iso-8859-1"/>
</head>
<body>
<h1>Exemple de page PHP</h1>
Bonjour <?php print($_GET[‘nom‘]);?>, tu as <?php
print($_GET[‘age‘]);?> ans !<br/>
</body>
</html>
17
Saisir des valeurs
C’est bien joli, mais comment demander des valeurs à
l’utilisateur ?
Utiliser des formulaires
Nouvelles balises HTML :
<form action="cible.php" method="post">
<input type="text" name="prenom" /><br />
<input type="submit" value="Valider" />
</form>
Input peut être de type (entre autre) :
Checkbox : case à cocher
File : choix d’un fichier
Password : permet de mettre des * à chaque caractère saisi
18
Résultat
Quand l’utilisateur clique sur le bouton Valider :
Le serveur change de page vers cible.php
Dans la page cible.php, on récupère les valeurs des
champs grâce à $_POST[‘prenom']
Car le nom du input est prenom :
<input type="text" name="prenom" />
19
Les fonctions
Il est possible de créer des fonctions !
Utile car il y a souvent la même chose à faire en HTML:
<?php
function afficheRouge($phrase)
{
print("<span style=\"color:red;\">$nom !</span>");
}
?>
<html>...
<h1>Titre <?php afficheRouge("en rouge");?></h1>
<p>La suite <?php afficheRouge("peut être aussi en rouge");?></p>
</body>
</html>
20
Les boucles
Comme en C++ !
while ($continuer_boucle == "oui")
{
// instructions à exécuter dans la boucle
}
while ($cpt < 10)
{
// instructions à exécuter dans la boucle
$cpt++;
}
for ($i = 1; $i<= 100; $i++)
{
print("Ceci est la ligne n°$i");
}
21
Les variables globales
C’est comme les variables statiques :
Toutes les pages d’un utilisateur partagent la valeur
Elles sont contenues dans un tableau particulier :
$_SESSION
Utilisation :
Mettre session_start() avant toute chose
Mettre des trucs dans la variable globale
$_SESSION[‘pass’]="azerty";
Récupérer les valeurs :
Print($_SESSION[‘pass’]);
22
Utilisation des sessions
Concrètement, les sessions peuvent servir pour :
Enregistrer un login / mot de passe
Permet de se souvenir du login du visiteur sur toutes les pages
du site !
Gérer un "panier"
Permet de retenir les produits que commande le client, quelle
que soit la page où il est.
Lorsqu'il valide sa commande, on récupère ces informations et
on le fait payer.
23
Sites utiles
Pas le temps de tout présenter…
http://fr.php.net/manual/fr/
manuel très complet
http://www.siteduzero.com/tuto-2-14-site-web.html
Tutoriel bien fait
http://g-rossolini.developpez.com/tutoriels/web-
debutant/
Vu d’ensemble de la création internet
24