Académique Documents
Professionnel Documents
Culture Documents
serveur Web
collection de
pages Web +
autres ressources
(image, son, )
machine cliente
avec navigateur Web
Internet
Ressource Web
1. Architecture Web
Serveur web
Navigateur Web
Architecture XAMP
3) affiche XXX.html
2) Retourne
XXX.html
1) Lecture du disque
serveur web
navigateur
0) Donne-moi la page web
qui sappelle XXX.php
1) Appel un programme
3) Retourne la page
HTML
Programme
php
serveur web
2) Fabrication de la
page au format
HTML
navigateur
0) Donne-moi la page web qui
sappelle XXX.php
serveur web
4) Retourne la page
HTML
1) Appel un programme
Programme
php
2) Extraction des donnes
serveur de donnes
BD
MySQL
3) Fabrication de la page
au format HTML
1. HTTP
http://webia.lip6.fr/~lepape/index.html
http://localhost:80/cgi-bin/programme.exe
Rseaux et Applications
1. HTTP : mthodes
GET
POST
PUT
HEAD
2. Introduction : HTML
<p>Hello world!</p>
Exemple :
Exemple:
Suffixe
Un fichier rdig en HTML doit tre suffix par .html ou .HTML ou .htm ou .HTM
Exemple : index.html
2. HTML : historique
1993
HTML 4.0. = Ajout des feuilles de style, des cadres et des objets.
2000
1997 (dcembre)
1997
XHTML 1.0 = HTML est reformul sur la base de XML, plutt que sur
celle de SGML.
En cours de normalisation
2. Editer du HTML
Editeurs de texte
Nimporte quel diteur de texte (emacs, gedit, kate, )
permet dditer du HTML. Il existe galement des diteurs
HTML qui propose des fonctionnalits spcifiques HTML.
Editeurs dHTML:
WebExpert : pris par les professionnels, le meilleur
rapport qualit/prix
Frontpage : grand public, conviviale et simple
HotMetal Pro : le meilleur mais galement le plus onreux
Hot Dog : tous niveaux
DreamWeaver : cration de page dynamique
PageMill connu : (MacIntosh) fonctionnalits WYSIWYG
QuantaPlus : open source install lcole
Exemple
Exemple
Les balises
Les balises HTML utilisent les caractres rservs < et > comme dlimiteurs.
Ex: <p>
Les balises HTML ont une marque de dbut (balise ouvrante) et une marque
de fin (balise fermante).
Ex: <i>coucou</i>.
Lorsquune balise na pas de contenu, on peut utiliser la forme simplifie
droite.</p>
Syntaxe
Les commentaires
Exemple 1 :
<?php
echo <html>;
echo <body>;
echo Bonjour ;
echo </html>;
echo </body>;
?>
Programme PHP
Mapage.php
<html>
<body>
Bonjour
</html>
</body>
Programme PHP
Mapage.php
<html>
<body>
Bonjour
</html>
</body>
3. Exemple
Exemple de script, code
source (ct serveur) :
<html>
<body>
<h1>Mon premier script</h1>
<?php echo Bonjour\n; ?>
</body>
</html>
3. Commentaires
Le typage des variables est implicite en php. Il nest donc pas ncessaire de
dclarer leur type au pralable ni mme de les initialiser avant leur
utilisation.
Les identificateurs de variable sont prcds du symbole $ (dollars).
Exemple : $toto.
Les variables peuvent tre de type entier (integer), rel (double), chane de
caractres (string), tableau (array), boolen (boolean) ou objet (object).
Il est possible de convertir une variable en un type primitif grce au cast(1)
(comme en C).
Exemple :
$str = 12;
$nbr = (int)$str;
(1) : Le cast est une conversion de type. Laction de caster consiste en convertir une variable
dun type un autre.
Quelques fonctions :
La porte dune variable est limite au bloc dans lequel elle a t cre. Une
variable locale une fonction nest pas connue dans le reste du
programme. Tout comme une variable du programme nest pas connue
dans une fonction. Une variable cre dans un bloc nest pas connue dans
les autres blocs, mmes suprieurs.
Oprateurs arithmtiques :
Oprateurs dassignement :
Oprateurs logiques :
Oprateurs de comparaison :
= = (galit), < (infrieur strict), <= (infrieur large), >, >=, != (diffrence)
Test ? val1 : val2 (vaut val1 si test est vrai, et val2 sinon)
3. Constantes
Lutilisateur peut dfinir des constantes dont la valeur est fixe une fois
pour toute. Les constantes ne portent pas le symbole $ (dollars) en dbut
didentificateur et ne sont pas modifiables.
define(var,valeur)
Exemple 1 :
define(author,Foobar);
echo author;
// affiche Foobar
Exemple 2 :
define(MY_YEAR,1980);
echo MY_YEAR;
// affiche 1980
Exemple 2 :
$name = "Henry";
$whoiam = $name "IV;
Exemple 3 :
$out = Patati;
$out = "et patata";
Quelques fonctions:
3. Les dates
1970
<?php
echo "Affichage au format jour/mois/annee heure:minute:seconde ".
strftime("%d/%m/%y %H:%M:%S")."<br />";?>
<?php
echo "Dans 15 jours nous serons le " .
strftime("%d/%m/%y",time()+15*24*3600) . "<br>";?>
3. Les dates
if( ... ) {
} elseif {
} else {
}
switch( ) {
case : { } break
default : { }
}
for( ; ; ) {
}
while( ) {
}
do {
} while( );
3. Tableaux (I)
Une variable tableau est de type array. Un tableau accepte des lments de tout
type. Les lments dun tableau peuvent tre de types diffrents et sont spars
dune virgule.
Un tableau peut tre initialis avec la syntaxe array.
Exemple :
$tab_colors = array(red, yellow, blue, white);
$tab = array(foobar, 2002, 20.5, $name);
$villes[0] = Paris;
$villes[1] = Londres;
$villes[2] = Lisbonne;
Lappel dun lment du tableau se fait partir de son indice (dont lorigine est zro
comme en C).
Exemple :
echo $tab[10];
3. Tableaux (II)
Exemple 1 :
$i=0;
while( $i <= count($tab) ) {
echo $tab[$i].\n;
$i++;
}
Exemple 2 :
foreach($tab as $elem) {
echo $elem.\n;
}
La variable $elem prend pour valeurs successives tous les lments du tableau
$tab.
3. Tableaux (III)
Quelques fonctions:
Exemple 1 :
$personne = array(Nom => Csar, Prnom => Jules);
Exemple 2 :
$personne[Nom] = Csar;
$personne[Prnom] = Jules;
Exemple 1 :
foreach($personne as $elem) {
echo $elem;
}
Ici on accde directement aux lments du tableau sans passer par les cls.
Exemple 2 :
foreach($personne as $key => $elem) {
echo $key : $elem;
}
Ici on accde simultanment aux cls et aux lments.
Quelques fonctions :
3. Fonctions (I)
Exemple :
function mafonction($toto) {
$toto += 15;
echo Salut !;
return ($toto+10);
}
$nbr = MaFonction(15.1);
/* retourne 15.1+15+10=40.1, les majuscules nont pas dimportance */
3. Fonctions (II)
Les paramtres sont passs par copie et les rsultats sont retourns par copie (sauf
forcer la rfrence). Mme sans paramtre, un entte de fonction doit porter des
parenthses ( ). Les diffrents arguments sont spars par une virgule , . Et le corps
de la fonction est dlimit par des accolades { }.
Quelques exemples :
function afficher($str1, $str2) {
echo $str1, $str2;
}
function bonjour() {
echo Bonjour;
}
function GetColor() {
return black;
}
3. Inclusions
On peut inclure dans un script php le contenu dun autre
fichier.
require insert dans le code le contenu du fichier spcifi
mme si ce nest pas du code php. Est quivalent au
prprocesseur #include du C.
Exemple :
require(fichier.php);
3. Arrt prmatur
Pour stopper prmaturment un script, il existe deux fonctions.
3. Variables denvironnement
Quelques variables :
4. Motivation
4. Exemple de formulaire
<form action="http://monserveur.com/prog.php" method="post">
<p>Nom <input name="client" size="46" /></p>
<p>Rue <input name="rue" size="40" /> </p>
<p>Ville <input name="ville" size="40" /> </p>
<p<Code postal <input name="cp" size="5" /> </p>
<p>Carte de crdit No <input name="carte" />
Expire <input name="expire" type="text" size="4" /></p>
<p> M/C <input name="cc" type=radio" value="mc" CHECKED />
VISA <input name="cc" type=radio" value="vis" /> </p>
<p>Contre remboursement <input name="cr" type=checkbox />
</p>
<p><input type=submit" value="Envoi"></p>
<p><input type=reset" value="Remise zro"> </p>
</form>
4. Exemple de formulaire
4. Balises <FORM>
action="http://monserveur/mapage.php"
<form
<FORM
ACTION=.. METHOD=.. NAME=.. >
method="post"
name="monformulaire"> </form>
4. Elments de formulaire
Les lments de formulaires sont rpartis en 3 classes :
Input
Champs de saisie de texte et diffrents types de boutons
Select
Listes (menus droulants et ascenseurs)
Textarea
Zone de saisie de texte libre
4. Balise <INPUT>
TEXT zone de saisie texte (type par dfaut en cas d'omission de TYPE) SIZE : taille de
la zone
RADIO bouton radio : tous les boutons ayant mme nom (NAME) appartiennent au
mme groupe. Dans ce cas, les attributs (VALUE) permettent de les diffrencier
CHECKBOX bote cocher
SUBMIT bouton d'envoi des donnes au serveur
RESET bouton d'effacement du formulaire
<form action="http://monserveur.com/prog.php"
method="post">
<select multiple name="musicTypes">
<option> R&B </option>
<option> Jazz </option>
<option> Blues </option>
<option> New Age </option>
</select> <P>
<input type="submit" value="Envoi">
</form>
4. Rcupration de fichiers
4. Rcupration de fichiers
$_FILES
GET
Ex : http://nom_du_serveur/cgi-bin/script.cgi?champ1=valeur1&champ2=valeur2...
POST
PHP et MySQL
5. Connexion (I)
5. Connexion (II)
Exemple 1 :
if( $id = mysql_connect(localhost,dupont,1234) ) {
if( $id_db = mysql_select_db(lenomdemabase) ) {
echo Succs de connexion.;
/* code du script */
} else {
die(Echec de connexion la base.);
}
mysql_close($id);
} else {
die(Echec de connexion au serveur de base de donnes.);
}
5. Interrogation
Llaffichage des rsultats dune requte se fait ligne par ligne. Une boucle
permettra de recueillir chacune des lignes partir de lidentifiant de rsultat.
ID
NAME
ADDRESS
----------------------------
Boris
Moscou
1re ligne
Bill
Washington
2me ligne
William
London
3 ligne
Une ligne contient (sauf cas particulier) plusieurs valeurs correspondants aux
diffrents attributs retourns par la requte. Ainsi, une ligne de rsultat pourra
tre sous la forme dun tableau, dun tableau associatif, ou dun objet.
}
Ici, on accde aux valeurs de la ligne par leur indice dans le tableau.
Exemple 2 :
$requet = SELECT * FROM users;
if($result = mysql_query($requet)) {
while($ligne = mysql_fetch_array($result)) {
$id = $ligne[id];
$name = $ligne[name];
$address = $ligne[address];
echo $id - $name, $address <br />;
}
} else {
echo Erreur de requte de base de donnes.;
}
Ici, on accde aux valeurs de la ligne par lattribut dans le tableau associatif.
Rfrences
PHP
http://www.php.net
http://www.phpinfo.net
http://www.phpfrance.com
http://www.developpez.com/php/
MySQL
http://www.mysql.com/
http://dev.nexen.net/docs/mysql/
HTML
http://cyberzoide.developpez.com/html/