Vous êtes sur la page 1sur 24

Personnaliser une page HTML

(et plus encore)

1
Pourquoi le PHP?
 HTML est statique
 Impossible de mettre automatiquement la date
 Impossible d’envoyer des fichiers
 Impossible d’utiliser les formulaires

 Ce que l’on ne pourra pas faire avec PHP


 Des animations (bouger des éléments)
 Faire des pages plus belles

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

Adresse du fichier php Valeurs et noms des


variables

 Pour récupérer les valeurs, c’est très simple :


 $_GET[‘nom'] renvoie « titi »

 $_GET[‘age'] renvoie « 25 »

<a href="cible.php?nom=Lelore&age=25">Lien vers lelore</a>

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

Vous aimerez peut-être aussi