Vous êtes sur la page 1sur 46

Cours HTML/PHP

Cours HTML/PHP
Cours HTML/PHP
Pages Web

Pages
Web
statiq
ues
Principe de fonctionnement :
L’utilisateur demande l’acc`es `a une page Web depuis
son navigateur.
Adresse tap´ee, clic sur un lien, utilisation d’un signet,
etc ...
Le navigateur envoie une demande `a un serveur
Web. Le serveur Web lit le fichier demand´e sur le
disque dur.
Le serveur Web envoie le contenu du fichier au
navigateur. Le navigateur affiche le contenu de la page.
Pour l’affichage, il peut ´egalement demander le
contenu d’autres fichier au serveur (ex : images).
Cours HTML/PHP
Pages Web

Illustr
ation

Poste client Serveur

Serveur Web

Navigateur (1): demande "index.html"


Web

(4): contenu de index.html

(3): contenu de index.html (2): accès à "index.html"

Disque
Cours HTML/PHP
Pages Web

Pages
Web
dyna
miqu
Pages statiques :
es Pour changer le contenu, il faut ´editer le
fichier.

Id´ee : g´en´erer le contenu de la page au moment ou`


elle est demand´ee, en fonction :
du contenu d’une base de donn´ees ;
de param`etres fournis avec la demande (ex :
formulaires).
Cours HTML/PHP
Pages Web

Pages
Web
Dyna
miqu
es :
foncti
onne
ment

L’utilisateur demande l’acc`es `a une page Web depuis


son navigateur.
Le navigateur transmet envoie une demande au serveur web
comprenant :
le nom de la page, qui correspond en fait `a un programme
;
´eventuellement un ensemble de param`etres.
Cours HTML/PHP
Pages Web

Illustr
ation

(4): génération du contenu (4.1): requêtes et


HTML résultats

Poste client Serveur Serveur

Serveur Web

Navigateur SGBD
Web (5): contenu HTML
Module
PHP

(1): demande "index.php"


+ paramètres

Disque

(2): accès à "index.php" (3): code source de index.php


Cours HTML/PHP
Pages Web

Quelq
ues
langa
ges

Langage
s utilis
´es :

Po
ur
le
c
o
nt
e
n
Cours HTML/PHP
Pages Web

Cr
´eati
on
de
pages
dyna
miqu
es
Dans notre cadre, pour cr´eer une page dynamique, il faut
: Cr´eer un programme PHP correspondant `a cette
page.
Plus pr´ecis´ement, ´ecrire le code source de ce
programme.
Le but de ce programme est de g´en´erer le contenu d’une page
Cours HTML/PHP
HTML
Structure de
base

HTML
:
Princi
pe

Fichier texte contenant des informations de structuration.


La structure est indiqu´ee `a l’aide de balises :
Le nom de la balise indique le type de mise en forme
`a appliquer.
On met une balise ouvrante au d´ebut du morceau de
texte concern´e :
<nom b al i s e> d´ebut du t e x t e
On met une balise fermante `a la fin du texte concern´e :
f i n du t e x t e </nom b al i se > ( ! au / )
Une balise ouvrante peut contenir des attributs de la forme
nom="valeur"
<nom b a l i s e nom1="val1" nom2="val2" . . . > t e x t e
Les attributs permettent de pr´eciser des informations
Cours HTML/PHP
HTML
Structure de
base

Struct
ure
d’une
page
HTM
<html>
L <head>
< t i t l e > t i t r e de l a page< / t i t l e >
Une</head>
<body>
page
HTML P a r t i e a f f i c h ´ee dans l e n a v i g a t e u r.
</body>
a la
</html>
structu
re
suivant
Les commentaires (non affich´es) sont d´elimit´es par < ! - -
e :
et - - > .
Cours HTML/PHP
HTML
Structure de
base

Struct
ure :
parag <p>texte</p>
raphe t exte forme un paragraphe (saut de ligne avant et
s et apr`es).
titres<h1>texte</h1>
t exte est un titre important (paragraphe avec un
affichage plus gros, en gras).
<h2>texte</h2>
t exte est un titre moins important (affichage un peu
moins gros).
...
<h6>texte</h6> te xt e
est un petit titre.
Cours HTML/PHP
HTML
Structure de base

Exemple
de
documen
t HTML
<html>
<head>
<title>
La
page
de
Tot o</
title >
</head>
<body>
<h1>Toto</
h1>
<h2>L’histo
Cours HTML/PHP
HTML
Structure de
base

Struct
ure :
styles
simpl<i>texte</ i> ou <em>texte</em> :
mettre texte en italique.
es
<b>texte</b> ou <strong>texte</strong> :
mettre texte en gras.
<u>texte</u> :
souligner texte .
<big>texte</big> :
mettre texte en plus grand.
<small>texte</small> :
mettre texte en plus petit.
Cours HTML/PHP
HTML
Structure de
base

Struct
ure :
listes
<ul>
< l i > en t r ´ee 1 < / l i >
< l i > en t r ´ee 2 < / l i >
< l i > en t r ´ee 3 < / l i >
<li>...</li>
</ul>
<ol>
< l i > en t r ´ee 1 < / l i >
< l i > en t r ´ee 2 < / l i >
< l i > en t r ´ee 3 < / l i >
<li>...</li>
</ol>
Cours HTML/PHP
HTML
Structure de
base

Struct
ure :
table
aux
<table>
<tr>
<td>
case
1</t
d>
<td>
case
2</t
d>
</tr>
<tr>
<td>
case
Cours HTML/PHP
HTML
Structure de
base

Struct
ure :
table
aux -
<ta ble border="2">
2 <tr>
<td>
case
1</t
d>
<td>
case
2</t
d>
</tr>
<tr>
<td>
case
Cours HTML/PHP
HTML
Structure de
base

Liens
hyper
texte
s

<a href=" adresse web">texte</a>


t exte devient un lien cliquable.
Lorsque l’on clique sur texte, on va
`a l’adresse (URL)
adresse web.

<a h ref="ht tp ://www.w3.org/TR/html401/">Documentation


HTML</a>
Le texte Documentation HTML est un lien vers la page web dont
l’adresse est h tt p ://www.w3.org/TR/html401/
Cours HTML/PHP
HTML
Structure de base

Image
s

Inclure une image :

<img src="adresse web image">

Pas de balise fermante pour <img>

adresse web image : adresse web ou` chercher


l’image.
Cours HTML/PHP
HTML
Formulaires

Formu
laires
:
princi
pe Objectifs :
acc´eder `a une page (dynamique) en sp´ecifiant des
param`etres ; permettre `a l’utilisateur de saisir ces
param`etres.
Comment :
en utilisant des champs textuels, des listes d´eroulantes,
des cases `a cocher ;
`a chacun de des composants de saisie correspond
un param`etre.
Cours HTML/PHP
HTML
Formulaires

Formu
laires
:
balis
<form action="adresse web" method="POST" name="nom">
e contenu f or m ula i r e
</form>
princi
contenu f or mul a ir e : du texte contenant en particulier des
palebalises repr´esentant les diff´erents composants de saisie ;
adresse web : l’adresse de la page web dynamique `a laquelle
on souhaite acc´eder via ce formulaire ;
POST : la m´ethode de transmission des param`etres (on peut
´egalement mettre GET) ;
nom : le nom du formulaire (optionnel).
Cours HTML/PHP
HTML
Formulaires

Formu
laires
:
saisie
<input type=" text" name="nom">
de Cr´e´ee un champ de saisie pour une ligne de texte.
textenom est le nom du param`etre correspondant `a ce
composant. On peut ajouter les attributs suivants :
size="un nombre" : la taille du champ en caract`eres ;
value="une v a l e u r " : texte pr´e-saisi
utile pour modifier des informations.
On peut remplacer type="text" par type="password" si on
veut afficher des * au lieu des lettres lors de la saisie.
Pas de balise fermante.
Cours HTML/PHP
HTML
Formulaires

Formu
laires
:
saisie
<textarea name="nom" rows="h" c o l s = " l " >
d’un
contenu pr´e s a i s i
grand
</textarea>
texte
Cr´e´ee un champ de saisie pour du texte sur plusieurs lignes.
nom est le nom du param`etre correspondant `a ce
composant. h est la hauteur du composant en nombre de
lignes.
l est la largeur du composant en nombre de caract`eres.
le contenu pr´e saisi peut ˆetre vide et ne contient de balise.
Cours HTML/PHP
HTML
Formulaires

Formu
laires
:
para
m`et
<input type="hidden" name="nom"
res
v a l ue = " va l " > Permet de donner la valeur v a l
cach
au param`etre nom. Ce composant n’est pas
´es affich´e.
Utile pour sp´ecifier un identifiant dans un formulaire de
modification des informations de la base.
Pas de balise fermante
Cours HTML/PHP
HTML
Formulaires

Formu
laires
: liste
d
´ero
ulant
e
<selec
t
name=
"nom"
>
<opt
ion
val
Cours HTML/PHP
HTML
Formulaires

Formu
laires
:
bout
<input type="submit" value="texte">
ons Cr´e´ee un bouton d´eclenchant le chargement de la
de page de destination (attribut a c t i o n de la balise
<form>).
soumi
te xt e est un texte qui sera affich´e sur le bouton.
ssion

<input type=" reset" value="texte">


Cr´e´ee un bouton d´eclenchant la r´einitialisation du
formulaire, en utilisant les valeurs pr´e saisies lorsqu’elles
existent.
te xt e est un texte qui sera affich´e sur le bouton.
Cours HTML/PHP
HTML
Formulaires

HTML
:m
´eth
odes
Deux m´ethodes de transmission des
de param`etres GET
transLes param`etres sont encod´es avec
missi l’adresse de la page :
`a la fin de l’adresse, on ajoute le caract`ere ?
on puis pour chaque param`etre on ajoute
de nom=val les param`etres sont s´epar´es par le
caract`ere &
para Utile pour sp´ecifier des param`etres dans un
metr lien hypertexte.
es` POST
Les param`etres sont encod´es s´epar´ement de
l’adresse web. Plus pratique pour les formulaires.
Cours HTML/PHP
PHP
G´en´eralit´es

PHP

Un fichier PHP est le code source d’un programme.


Ce programme a pour but de g´en´erer une page
HTML. PHP est un langage imp´eratif proche du C.
Cours HTML/PHP
PHP
G´en´eralit´es

PHP :
deux
types
de
”zon
es” D´elimit´ees par < ? et ?>
Zones entre < ? et ?> : code PHP `a ex´ecuter (similaire
`a du code C).
Zones `a l’ext´erieur de < ? et ?> : texte et balises qui
seront recopi´es directement dans le contenu HTML g
´en´er´e.
Cours HTML/PHP
PHP
G´en´eralit´es

PHP :
varia
bles
Le nom d’une variable commence par un $
$ i , $ u t i l i s a t e u r , $i d, . . .
Affectation comme en C :
$ i = valeur ;
Les variables ne sont pas explicitement d´eclar´ees comme
en C.
Une variable existe d`es que l’on a fait une affectation
dessus.
Une variable peut contenir un nombre, une chaˆıne de
caract`eres, un bool´een (en r´ealit´e un entier comme
en C) ou un tableau.
Cours HTML/PHP
PHP
G´en´eralit´es

PHP :
g´en
´erat
ion
Deux m´ethodes :
du
Mettre du texte `a l’ext´erieur de < ? et
conte
?>. Utiliser l’instruction p r i n t :
nu p r i n t valeur ;
valeur est ´evalu´e puis transform´e
en texte.
Ce texte est ajout´e `a la suite du contenu HTML d´ej`a
g´en´er´e. On peut utiliser echo `a la place de p r i n t .
On peut consid´erer que le texte mis `a l’ext´erieur de < ? et
?> est pass´e en argument `a un p r i n t .
Cours HTML/PHP
PHP
G´en´eralit´es

PHP :
chaˆı
nes
de D´elimit´ees par des guillemets simples ( ’ c h a ^ı n e ’ ) ou
caracdoubles (" cha^ı n e " ).
teresSi une variable apparaˆıt dans une chaˆıne avec guillemets
` doubles, elle est remplac´ee par sa valeur (convertie en
chaˆıne de caract`eres).
p r i n t "<p>Mon nom e s t $nom</p>" ;
Les variables apparaissant dans des guillemets simples ne
sont pas remplac´ees.
Un . entre deux chaˆınes les concat`ene.
p r i n t "<p>Mon nom".$nom."</p>" ;
Cours HTML/PHP
PHP
G´en´eralit´es

PHP :
oper
ateur

Arithm´etiques :
+ (addition), - (soustraction), * (multipli´e), / (divis
coura
´e),
nts % (modulo), ++ (incr´ement), - - (d´ecr´ement).
De comparaison :
== (´egalit´e), < (inf´erieur strict), <= (inf´erieur
large), >,
>=, != (diff´erence)
Logiques :
and, && (et), or, | | (ou), xor (ou exclusif), !
(non)
Cours HTML/PHP
PHP
G´en´eralit´es

PHP :
table
aux
Syntaxe similaire au C :
$mon t a b l e a u [ 2 ] = "coucou" ;
Range "coucou" dans la case num´ero 2.
p r i n t $mon t a b l e a u [ 2 ] ;
G´en`ere le texte coucou.
$mon t a b l e a u [ ] = valeur ;
Ajoute une case au tableau $mon t a b l e a u et y range
valeur.
La premi`ere case d’un tableau porte le num
´ero 0. Pour cr´eer un tableau vide, on peut
utiliser :
$mon ta b l e a u = a r r a y ( ) ;
Cours HTML/PHP
PHP
G´en´eralit´es

PHP :
table
aux
assoc
iatifs
Tableau associant une valeur `a une chaˆıne de
caract`eres. Syntaxe :
$personne[’Prenom’] = ’ To t o ’ ;
Associe la valeur ’Toto’ `a la chaˆıne ’Prenom’.
p r i n t $personne[’Prenom’] ;
G´en`ere le texte Toto.
Cours HTML/PHP
PHP
G´en´eralit´es

PHP :
contr
oˆles
Structures de controˆles similaires `a celles de
C:
if ( . . . ) { . . . } else { . . . }
for(... ; . . . ; . . . ) { . . . }
while ( . . . ) { . . . }

Inclusion d’un autre fichier


PHP : include(”nom
fichier.php”) ;
Cours HTML/PHP
PHP
G´en´eralit´es

PHP :
foncti
ons
D´efinition de fonction :

f u nc t i on nom fonction($param1, $param2, . . . ) {


...
}

Pour renvoyer un r´esultat dans une fonction :


return valeur ;
Cours HTML/PHP
PHP
Gestion des
formulaires

PHP :
r
´ecu
Principe :
p L’interpr´eteur PHP initialise un tableau associatif qui
associe
´erati
`a chaque nom de param`etre sa valeur.
on
Le nom du tableau initialis´e d´epend de la m´ethode :
des
$ POST pour la m´ethode POST
para
$ GET pour la m´ethode GET
metr
es`
Exemple : afficher la valeur du param`etre nom, s’il est transmis
par la m´ethode POST.

p r i n t $ POST[’nom’] ;
Cours HTML/PHP
PHP
Acc`es `a
MySQL

Acces
` `a
une
Cinq ´etapes
base
: 1
de2 Connexion au SGBD.
donnS´election d’une
3
base. Envoi d’une
´ee
4
requˆete.
MyS
5

QL R´ecup´eration et utilisation du r
´esultat. Fermeture de la connexion.

On peut it´erer les ´etapes 3 et 4 autant de fois que l’on veut


avant de fermer la connexion `a l’´etape 5.
Cours HTML/PHP
PHP
Acc`es `a
MySQL

Conne
xion
Connexion au SGBD :
$user = ’ t o t o ’ ;
$passwd = ’mdptoto’ ;
$machine = ’ l o c a l h o s t ’ ; machine ou` tourne
PHP
$connect = mysql connect($machine,$user,$passwd) or
di e ( ’ E c h e c de connexion au SGBD’) ;
Choix de la base :
$bd = ’ e n t r e p r i s e ’ ;
mysql s e l e c t db($bd,$connect)
or d i e ( ’ E c h e c l o r s de l a s e l e c t i o n de l a b a s e ’ ) ;
Fermeture (apr`es les requˆetes) :
mysql close($connect) ;
Cours HTML/PHP
PHP
Acc`es `a
MySQL

Envoi
de la
reque
teˆ

$requet
e =
’ une
reque
te
SQL’
;
$resul
tat =
mysql
query
Cours HTML/PHP
PHP
Acc`es `a
MySQL

Exploi
tatio
n du
r
´esul
tat
d’une
reque
teˆ

Code
type
pour
parcou
Cours HTML/PHP
PHP
Acc`es `a
MySQL

Exemp
le
$ s a l a i r e max = 20000 ;
$requete = "SELECT nom , s a l a i r e FROM employe "
. " WHERE s a l a i r e <= $ s a l a i r e max"
;
$ r e s u l t a t = mysql query($requete,$connect)
or d i e ( ’ E r r e u r durant l ’ e x ´ecution de l a
requ^e t e ’ ) ; p r i n t "<h3>Employ´es gagnant moins de "
. " $ s a l a i r e max euros par an</h3>" ;
while ($nuple t = mysql f e t c h a s s o c ( $ r e s u l t a t ) ) {
$nom = $nuplet[’nom’] ;
$ s a l = $ n u p l e t [ ’s a l a i r e ’ ] ;
p r i n t "<p>$nom gagne $ s a l a i r e
euros par ans .</p>" ;
}
Cours HTML/PHP
PHP
Sessions

Sessio
ns :
pour
quoi
Il peut ˆetre utile de conserver des informations d’une page
?sur l’autre. Par exemple pour :
se souvenir du login de l’utilisateur
se souvenir des r´ef´erences indiquant `a quoi
l’utilisateur s’int´eresse
se souvenir des derni`eres pages vist´ees par
l’utilisateur etc
Jusqu’ici, un seul moyen : utiliser des param`etres et penser
`a les remettre `a chaque lien et dans chaque formulaire
⇒ Programmation fastidieuse et source de probl`emes.
Cours HTML/PHP
PHP
Sessions

Sessio
ns

Une session peut ˆetre vue comme un ensemble


d’informations concernant un utilisateur d’un site.
par utilisateur, on entend un navigateur sur une
machine les informations sont conserv´ees entre deux
pages
une page PHP peut ajouter ou modifier des
informations

En PHP, la session est vue comme une variable sp


´eciale appel´ee
$ SESSION :
c’est un tableau associatif
Cours HTML/PHP
PHP
Sessions

Utilisa
tion
des
sessio
ns enUne page PHP utilisant une session doit obligatoirement,
avant mˆeme d’afficher quoi que ce soit, commencer
PHPpar l’instruction :
s e s s i on s t a r t ( ) ;
Cette instruction cr´ee la variable $ SESSION et la remplit
avec les valeurs qu’elle avait dans la page PHP pr´ec
´edente.
La variable $ SESSION se manipule ensuite comme un
tableau associatif classique.
Cours HTML/PHP
PHP
Sessions

D
´eco
nnexi
on
Lorque l’utilisateur se d´econnecte, il est important de d
´etruire la session
par exemple pour ´eviter qu’une seconde personne utilisant
le mˆeme ordinateur ne se fasse passer pour la premi`ere
personne
pour d´etruire une session :
$ SESSION = a r r a y ( ) ;
s e s s i on write c l o s e ( ) ;

Vous aimerez peut-être aussi