Vous êtes sur la page 1sur 2

4

Interprtation d'une
page PHP
client
serveur web
ORequte (URL)
OEnvoi de la page HTML
OInterprtation et affichage
de la page par le navigateur
OInterprtation
Interprteur PHP
Page HTML avec
code PHP intgr
Page HTML complte
du rsultat de
lexcution du code PHP
Base de
donnes
PHP - Introduction (2) PHP - Introduction (2)

6
PHP - Introduction (4) PHP - Introduction (4)

Codage
4
1 seul fichier ".php" = code HTML + code PHP
4
inclusion dans le code HTML par les balises
<?php

?>

Excution par le serveur


4
lecture du fichier PHP
4
rencontre de "<?php" passage en mode PHP
4
excution de chaque instruction par l'interprteur
4
transmission du rsultat au client (code HTML pur)
Le script PHP nest jamais visible par lutilisateur

14
Spcificits de PHP (1) Spcificits de PHP (1)

Production de code source HTML


4
production (affichage) de texte brut
print "Bonjour tout le monde";
4
production de code HTML (texte+balises)
print "<b>Bonjour</b> tout le monde";
+ code HTML : <b>Bonjour</b> tout le monde
+ page web : Bonjour tout le monde
print "<i>Salut</i><br>&agrave;\ntous";
+ code HTML : <i>Salut</i><br>&agrave;
tous
+ page web : Salut
tous
15
Spcificits de PHP (2) Spcificits de PHP (2)

Variables
4
introduites par $
4
ni dclaration (seulement initialisation), ni type
4
affichage
instruction print ou echo (nombres et chanes)
$ch = "Bonjour tout le monde";
print $ch;
fonction print_r (toutes variables, dont tableaux)
$tab = array(3,2,1);
print_r ($tab);
+ code HTML : Array
(
[0] => 3
[1] => 2 + page web :
[2] => 1 Array ( [0] => 3 [1] => 2 [2] => 1 )
)

16
Spcificits de PHP (3) Spcificits de PHP (3)

Chanes
4
Guillemets simples ou doubles ?
simples : pas d'interprtation des variables internes (VI)
doubles : interprtation des VI et squences d'chappement
4
Exemples
code PHP code HTML page web
$age = 23;
$nom = 'toto'; //ou : $nom="toto";
mon nom est toto mon nom est toto
mon nom est $nom mon nom est $nom
mon nom est toto mon nom est toto
mon nom est <b>toto</b>
mon nom est <b>$nom</b>
print "mon nom est $nom";
print 'mon nom est $nom';
print 'mon nom est '.$nom;
print "mon nom est <b>$nom</b>"; mon nom est toto
print 'mon nom est <b>$nom</b>'; mon nom est $nom
print "Je m'appelle\n \"$nom\"
<br>et j'ai ".$age.' ans';
je m'appelle
"toto" <br>et j'ai 23 ans
je m'appelle "toto"
et j'ai 23 ans

17
Spcificits de PHP (4) Spcificits de PHP (4)

Tableaux associatifs
4
Gnralits
ensemble d'associations (cl => valeur)
tableau "classique" = tableau associatif cls numriques
4
Oprations

initialisation
$tab = array('cl1'=>'val1', 'cl2'=>'val2', ...);

modification (ou ajout) d'un lment prcis


$tab['cl1'] = 'valUn';
$tab['cl3'] = 'val3';
ajout d'un lment en fin de tableau
$tab[] = 'valN'
Rem.: valable aussi avec les tableaux ( cls) numriques
1/2



18
Spcificits de PHP (5) Spcificits de PHP (5)

Tableaux
4
Parcours
Utilisation des valeurs seulement (tableaux numriques)
foreach ($tab as $valeur)
print "valeur = $valeur<br>";
Utilisation des cls et des valeurs (tableaux associatifs)
foreach ($tab as $cle=>$valeur)
print "cl = $cle, valeur = $valeur<br>";
4
Fonctions (dans l'ordre d'utilit)
fusionner tableau en chane : $ch = join($sep, $tab)
scinder chane en tableau : $tab = split($sep, $ch)

nb lments : count()
trier : sort(), rsort() ; chercher : in_array(), array_search()

dplacer le pointeur : reset(), end() , next(), prev()



20

PHP et pages web dynamiques (1) PHP et pages web dynamiques (1)

Interfaage avec formulaire HTML


4
Principe
nommer les lments du formulaire

donne lue dans $_POST[] ou $_GET[], selon la mthode utilise


4
Illustration

form.html
<FORM action='traiter.php' method='POST'>
Pr&eacute;nom <INPUT name='prenom' type='text'>
<INPUT type='submit'>
</FORM>

21
PHP et pages web dynamiques (1) PHP et pages web dynamiques (1)

Interfaage avec formulaire HTML


4
Principe
nommer les lments du formulaire

donne lue dans $_POST[] ou $_GET[], selon la mthode utilise


4
Illustration

form.html
<FORM action='traiter.php' method='POST'>
Pr&eacute;nom <INPUT name='prenom' type='text'>
<INPUT type='submit'>
</FORM>

traiter.php
<?php
print_r($_POST);
?>
Olivier| Array ( [prenom] => Olivier )

29
PHP - Interfaage avec un SGBD (1) PHP - Interfaage avec un SGBD (1)

Principales tapes (ex. de mySQL)


O
se connecter au serveur de la BD :
mysql_connect($host, $user,$password)
O
choisir la base : mysql_selectdb($bdd)
O
exprimer une requte : $id_rq=mysql_query($ch_req)
O
lire une ligne du rsultat (pour une requte slection) :
mysql_fetch_row($id_rq) ou
mysql_fetch_object($id_rq)
O
se dconnecter : mysql_close()

30
PHP - Interfaage avec un SGBD (2) PHP - Interfaage avec un SGBD (2)

Exemple
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01
Transitional//FR">
<html>
<head><title>Promotion</title></head>
<body>
<table border="1" cellpadding="0" cellspacing="0">
<tr><th>Nom</th><th>Adresse mail</th></tr>
<?php
//Paramtres de connexion
$host="localhost"; //machine hbergeant le SGBD
$user="lo"; //votre login
$password="cmoi"; //mot de passe
$bdd="etudiants"; //nom de la base
mysql_connect($host, $user,$password) or
die("erreur de connexion au serveur");
mysql_selectdb($bdd) or
die("erreur de connexion la base");

31
PHP - Interfaage avec un SGBD (3) PHP - Interfaage avec un SGBD (3)
// Cration et envoi de la requte
$ch_req ="SELECT nom,mail FROM Promo ORDER BY nom";
$result = mysql_query($ch_req);
// Rcupration des rsultats
while($ligne = mysql_fetch_row($result)){
$nom=$ligne[0];
$mail=$ligne[1];
print "<tr>\n<td>";
print "<a href=\"$mail\">$nom</a>";
print "</td>\n<td>$mail</td>\n</tr>\n";
}
// Dconnexion de la base de donnes
mysql_close();
?>
</tr>
</table>
</body>
</html>
2/2

Vous aimerez peut-être aussi