Explorer les Livres électroniques
Catégories
Explorer les Livres audio
Catégories
Explorer les Magazines
Catégories
Explorer les Documents
Catégories
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
Serveur Web
Disque
Cours HTML/PHP
Pages Web
Pages
Web
dyna
miqu
Pages statiques :
es Pour changer le contenu, il faut ´editer le
fichier.
Pages
Web
Dyna
miqu
es :
foncti
onne
ment
Illustr
ation
Serveur Web
Navigateur SGBD
Web (5): contenu HTML
Module
PHP
Disque
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
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
Image
s
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
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
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
s´
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 ( . . . ) { . . . }
PHP :
foncti
ons
D´efinition de fonction :
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.
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
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 ( ) ;