PHP

24
Personnaliser une page HTML (et plus encore) 1

description

PHP. Personnaliser une page HTML (et plus encore). 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) - PowerPoint PPT Presentation

Transcript of PHP

Page 1: PHP

Personnaliser une page HTML(et plus encore)

1

Page 2: PHP

Pourquoi le PHP?HTML est statique

Impossible de mettre automatiquement la dateImpossible d’envoyer des fichiersImpossible d’utiliser les formulaires

Ce que l’on ne pourra pas faire avec PHPDes animations (bouger des éléments)Faire des pages plus belles

2

Page 3: PHP

Pourquoi le PHP ?Par contre, on pourra :

Personnaliser la page par l’utilisateurEnvoyer des fichiersFaire un compteur de visiteursEnvoyer des mails automatiquementFaire des sections privéesCréer un système de caddie (pour les sites

marchands)…

3

Page 4: PHP

Qu’est ce que le PHP ?

4

OrdinateurServeur (123.123.321.321)

OrdinateurClient

Serveur WebNavigateur

Web

DNS

Qui estwww.ici.net

IP123.123.321.321

Aller surwww.ici.net/toto.php

Toto.php ?

Toto.html

Création du code html

grâce au fichier toto.php

Page 5: PHP

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

Page 6: PHP

Comment ça marche?Méthode simple :

On fait une page HTML comme d’abOn 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 endroitMéthode compliquée :

Pas pour tout de suite ;-) (permettra de simplifier notre travail, mais le principe

sera le même)

6

Page 7: PHP

Un petit exempleCe 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

Page 8: PHP

La baliste PHPPour 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 balisesSi 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

Page 9: PHP

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 10: PHP

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

Page 11: PHP

Le langage PHPToutes 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

Page 12: PHP

Les variablesEn 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

Page 13: PHP

Les variablesEn 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

Page 14: PHP

Les variablesEn 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

Page 15: PHP

Transmettre les valeursDans le cas d’une seule page, on peut

considérer que la page est un programmeDans le cas d’un site, une page peut être

considérée comme une fonctionComment passer des valeurs à une autre page

Exemple :Dans la page d’accueil, on demande le nom à

l’utilisateurComment retrouver le nom dans les autres

pages ?

15

Page 16: PHP

Transmission des variablesUtiliser l’adresse du site :

http://tibo.lelore.free.fr/test.php?nom=titi&age=25

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

Adresse du fichier php Valeurs et noms des variables

Page 17: PHP

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

Page 18: PHP

Saisir des valeursC’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

saisi18

Page 19: PHP

RésultatQuand l’utilisateur clique sur le bouton Valider :Le serveur change de page vers cible.phpDans 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

Page 20: PHP

Les fonctionsIl est possible de créer des fonctions !

Utile car il y a souvent la même chose à faire en HTML:

<?phpfunction 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

Page 21: PHP

Les bouclesComme 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

Page 22: PHP

Les variables globalesC’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 choseMettre des trucs dans la variable globale

$_SESSION[‘pass’]="azerty";Récupérer les valeurs :

Print($_SESSION[‘pass’]);

22

Page 23: PHP

Utilisation des sessionsConcrè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

Page 24: PHP

Sites utilesPas 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