PHP Personnaliser une page HTML et plus encore

  • Slides: 24
Download presentation
PHP Personnaliser une page HTML (et plus encore) 1

PHP Personnaliser une page HTML (et plus encore) 1

Pourquoi le PHP? �HTML est statique �Impossible de mettre automatiquement la date �Impossible d’envoyer

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

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 fichier toto.

Qu’est ce que le PHP ? Création du code html grâce au fichier toto. php Aller sur www. ici. net/toto. php Navigateur Web Toto. php ? Ordinateur Client Toto. html Qui est www. ici. net IP 123. 321 Serveur Web Ordinateur Serveur (123. 321) DNS 4

Le PHP �Étapes nécessaires pour consulter une page PHP : 1. Le client demande

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

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 même) de simplifier notre travail, mais le principe sera le 6

Un petit exemple �Ce code affichera en titre la date du jour : <html>

Un petit exemple �Ce code affichera en titre la date du jour : <html> <head> </head> <h 1> <? php $date = date("d-m-Y"); $heure = date("H: i"); Print("Nous sommes le $date et il est $heure"); ? > </h 1> </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

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 "-//W 3 C//DTD XHTML 1. 0 Transitional//EN"

Exemple d’utilisation de PHP <!DOCTYPE html PUBLIC "-//W 3 C//DTD XHTML 1. 0 Transitional//EN" "http: //www. w 3. org/TR/xhtml 1/DTD/xhtml 1 -transitional. dtd"> <html> <head> <title>Titre de la page</title> <meta http-equiv="Content-Type" content="text/html; charset=iso -8859 -1"/> </head> <body> <h 1>Exemple de page PHP</h 1> <h 2>Le premier titre !</h 2> <p /><? php print("mon premier texte PHP !"); ? ></p> </body> </html> 9

Page HTML générée : <!DOCTYPE html PUBLIC "-//W 3 C//DTD XHTML 1. 0 Transitional//EN"

Page HTML générée : <!DOCTYPE html PUBLIC "-//W 3 C//DTD XHTML 1. 0 Transitional//EN" "http: //www. w 3. org/TR/xhtml 1/DTD/xhtml 1 -transitional. dtd"> <html> <head> <title>Titre de la page</title> <meta http-equiv="Content-Type" content="text/html; charset=iso -8859 -1"/> </head> <body> <h 1>Exemple de page PHP</h 1> <h 2>Le premier titre !</h 2> <p />mon premier texte PHP !</p> </body> </html> 10

Le langage PHP �Toutes lignes finissent par un ; �Les variables sont des mots

Le langage PHP �Toutes 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

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

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=$var 1*($var 2+$var 3); 13

Les variables �En PHP, utiliser les variables, c’est très simple : �Les opérations sont

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=$var 1*($var 2+$var 3); 14

Transmettre les valeurs �Dans le cas d’une seule page, on peut considérer que la

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.

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 "-//W 3 C//DTD XHTML 1. 0

Exemple bis de code PHP <!DOCTYPE html PUBLIC "-//W 3 C//DTD XHTML 1. 0 Transitional//EN" "http: //www. w 3. org/TR/xhtml 1/DTD/xhtml 1 -transitional. dtd"> <html> <head> <title>Titre de la page</title> <meta http-equiv="Content-Type" content="text/html; charset=iso -8859 -1"/> </head> <body> <h 1>Exemple de page PHP</h 1> 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 ?

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" /> <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

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

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 affiche. Rouge($phrase) { print("<span style="color: red; ">$nom !</span>"); } ? > <html>. . . <h 1>Titre <? php affiche. Rouge("en rouge"); ? ></h 1> <p>La suite <? php affiche. Rouge("peut être aussi en rouge"); ? ></p> </body> </html> 20

Les boucles �Comme en C++ ! while ($continuer_boucle == "oui") { // instructions à

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

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 /

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

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