1. Qu`est ce qu`un Site Web dynamique?

publicité
Module : Pages Web
Dynamiques (
)
Production Électronique Avancée
Objectif:
Créer des
pages Web dynamiques en utilisant le
langage PHP
PLAN
I- Introduction :
1. Qu’est ce qu’un Site Web dynamique?
2. Principe de Fonctionnement

II- Le Langage Php:
1. Présentation
2. Environnement de développement
3. Syntaxe de base du langage Php
4. Les structures de données
5. Les types de données structurés en Php
6. Les structures de contrôle
7.Les fonctions en Php
8. Utiliser MySQL avec Php
Exercices
 Recommandation

I- Introduction :

I-1. Qu’est ce qu’un Site Web
dynamique?
 Un site web dynamique est un site
dont les pages peuvent être générées à
«la volée» (dynamiquement) en fonction
d’une demande d’un utilisateur.
I- Introduction :

I-2. Principe de Fonctionnement
 Consultation d’une page html statique

I-2. Principe de Fonctionnement
 Consultation d’une page qui contient du
code Php
II- Le Langage Php:

II-1. Présentation
 À sa création, en 1994, PHP signifiait Personal Home
Page. Maintenant il traduit une désignation plus générale
: PHP Hypertext Preprocessor.
 Spécialement conçu pour le développement
d'application Web. Il peut être intégré facilement au
HTML.
 PHP est un langage de scripts et non un langage de
programmation, car il est conçu pour faire quelque chose
à la suite un événement ou lorsqu'un utilisateur soumet
un formulaire à un serveur Web.

II-2. Environnement de développement
 Il existe un utilitaire très pratique
(EasyPhP) qui installera Apache, Php, MySQL
et aussi phpMyAdmin (une interface
conviviale gratuite pour la gestion des bases de
données MySQL).
 Lancer l'exécution de easyphp18_setup.exe. Un dossier EasyPHP sera créé
dans Program Files.
Au démarrage d'EasyPHP, une
icône apparaît à côté de l'heure.
 testez le fonctionnement du
serveur web
 Supprimer le fichier
index.php du
dossier www
 NB. Configurer le navigateur afin de
« ne pas utiliser le Proxy pour les
adresses locales »
démarrer « Internet explorer », menu
« outils », « options Internet », onglet
«Connections », bouton « Paramètre
réseau.

II-3. Syntaxe de base du langage Php
<html>
<head>
<title>ma première page en php</title>
</head> <body>
<?
echo ("<b>Bienvenue au langage PHP</b>");
// echo permet d’afficher un message
$x=255;
echo ("<center> la valeur de x est $x</center>");
?>
</body></html>
NB. Le fichier contenant le code Php doit avoir l’extension .php
 Le script Php contenu dans le code HTML doit être délimité par les balises <? Et
 Le fichier Php doit être enregistré dans le dossier www
 Pour commenter une seule ligne on utilise une double barre oblique (//)
?>

II-4. Les structures de données
II-4-a. Les constantes
<?
define("SOCIETE","Société internationale d’import Export");
echo ("<b>je travaille à la Société:".SOCIETE."</b>");
define("max",100);
$min=5;
echo ("<b>la valeur de min est $min</b>");
echo ("<b>la valeur de max est".max</b>");
?>
NB. Pour définir une constante, on fait appel à la fonction definie().
 L’opérateur « . » permet la concaténation des contenus des objets.
II-4-b. Les variables
NB. Les variables sont représentées par le signe dollar $ suivi du nom de la variable.
 Le nom est sensible à la casse ($x<>$X).
 Un nom de variable doit commencer par une lettre ou le caractère (_).
Activité :
<html>
<head><title> Les variables en PHP</title></head>
<body>
<?
// utilisation des variables
$libp="disque dur " ; $pu=158.5; $descp= " ";
Echo (gettype($libp). "<br>".gettype($pu). "<br>");
//Convertion de types
echo ("la variable pu est de type:".gettype($pu)." et contenant la valeur : $pu <br>");
Settype($pu, "integer");
echo ("la variable pu est de type:".gettype($pu)." et contenant la valeur : $pu <br>");
$pu=(string)$pu;
echo ("la variable pu est de type:".gettype($pu)." et contenant la valeur : $pu <br>");
// Test d'existence de variables
echo ("lib variable non définie $lib<br>");
echo ("test1 :".isset($pu)."<br>");
//retourne 1, pu est une variable définie
echo ("test2 :".isset($lib)."<br>");
//retourne 0, lib est une variable non définie
?>
</body></html>
activité exercice n°5 page 139
II-4-c. Les opérateurs :
 Les opérateurs de calcul :
(+,-,*, /,%,=)
%  Opérateur Modulo $x=18%4 donne 2
=  Opérateur d’affectation $y=2.3;
 Les opérateurs de comparaison :
(==,<,<=,>,>=,!=)  if ($x==3) {…….}  if ($x!=3) {…….}
 Les opérateurs logiques :
(OR ou ||, AND ou &&, XOR, !)  ! Est le NON logique.
 II-5. Les Entrées/Sorties
 Les entrées en Php : Pour récupérer des données à partir d’une page Php,
deux solutions Possibles :
 Récupérer des informations à travers les objets graphiques des formulaires
: on utilise
$_GET[‘nomobjet’] ou $_POST[‘nomobjet‘], dépendamment de la valeur de
la propriété METHOD de la balise FORM.
Activité 1 : Créer le formulaire suivant
En cliquant sur envoyer le message suivant s'affiche
Bienvenue « votre nom »
 Récupérer des informations envoyées en paramètres à un fichier Php. 
L’envoi des données se fait à travers la syntaxe:
http://localhost/nomfichier.php? var1=val1 &var2=val2…
la récupération au niveau du fichier nomfichier.php se fait grâce à la syntaxe:
$var1=$_GET[‘var1’] Activité 2 : passez le paramètre nom dans l’url et
afficher :
Bienvenue « nom »
Activité 3 : faire l’activité 5 du livre page 126
Activité 4 : faire l’application du livre page 128
 Les sortie en Php:  echo

II-6. Les structures de contrôles
II-6-a Les structures conditionnelles
 L’instruction if :
If (condition)
{expression vrai}
Else
{expression faux}
Switch ($type)
{
Case "Femme" : echo
" bonjour Madame";
break;
Case "Homme" : echo
" bonjour Monsieur";
break;
default : echo "Femme";
}
 Les structures de branchement :
Switch (expression)
{
Case resultat1 :
//instruction à exécuter si l’expression vaut resultat1
break;
Case resultat2 :
//instruction à exécuter si l’expression vaut resultat2
break;
….
default :
//instruction à exécuter en dernier recours
}
II-6-b Les structures itératives
 La boucle While :
While (Condition)
{
//Instructions
}
 La boucle do …While :
Do
{
//Instructions
} While (Condition);
 La boucle For :
For (expr1;expr2;expr3)
{
//Instructions
}
Exemple :
For ($i=0;$i<10;$i++)
{
Echo ("$i <br>");
}
Application : écrivez un script Php
permettant d’afficher tous les nombres
premiers compris entre 3 et 100.

II-7. Les types de données Structurées en Php
II-7-a. Les Tableaux
Un tableau est composé d’un certain nombre d’éléments possédant
chacun une valeur propre ainsi q’une clé ou indice.

En Php, deux types de tableaux sont utilisés et deux méthodes de
déclarations: exemples de déclarations.
$tab[]="Pomme"; // ou $tab[0]="Pomme";
$tab[]="Poire"; // ou $tab[1]=" Poire ";
$tab[]="Abricot"; // ou $tab[2]="Abricot";
$tab[]=5; // ou $tab[3]=5;
$tab[]="Pêche"; //ou $tab[4]="Pêche";
Dans ce cas, un indice de 0 à 4 est crée.
NB. Les éléments d’un tableau peuvent
être crées à la volée.
Un tableau peut stocker des éléments de
types différents
Un tableau peut être crée avec la fonction Array().
Array([key=>] valeur, ….)
Key est soit une chaîne soit un entier positif)
Valeur peut être de n’importe quel type(y compris
un autre tableau).
$tab=Array(0=>"P",1=>"
Po",2=>"A",3=>"Pê",4=>"C");
Ou $tab=Array("P"," Po","A","Pê","C");
Le tableau $tab est un tableau à indices de type entier.
 Un tableau peut être à indices de type chaîne. Exemples
$vect=array("nom"=>"Belhassen","prenom"=>"ali","profession"=>"enseignant");
$r=array("animal"=>"chien","fruit"=>"orange","mineral"=>"crystal");
NB. $v=$vect; // permet de recopier un tableau
 Le parcours d’un tableau: exemples
<?
$vente_hebdo=array("lu"=>1742,"mar"=>1562,"mer"=>1920,"jeu"=>1239,"ve"=>2012,"sa"=>720) ;
$vente_totale = 0;
reset($vente_hebdo); // la fonction reset() remet le pointeur au début du tableau
while (list($k, $v) =each($vente_hebdo)) // le deux fonctions each() et list() peuvent
{
// être utilisées conjointement afin
echo ("<BR> Vente de $k : $v unités\n"); // de parcourir un tableau
$vente_totale += $v;
}
echo "<BR>Vente sur la semaine : $vente_totale unités<BR>";
?>
Exemples des Fonctions sur le tableau
Fonction
Description
reset(nomt)
Recale le pointeur au début du tableau et renvoie le 1er élément du
tableau
end(nomt)
Recale le pointeur à la fin du tableau et renvoie le dernier élément du
tableau
current(nomt)
Renvoie l'élément courant du tableau
next(nomt)
Fait avancer le pointeur courant de façon qu'il pointe l'élément suivant
dont elle renvoie la valeur
prev(nomt)
Fait reculer le pointeur courant de façon qu'il pointe l'élément
précédent dont elle renvoie la valeur
key(nomt)
Renvoie l'indic de l'élément courant du tableau
each(nomt)
Extrait l'élément courant et fait avancer le pointeur d'une unité
list($indice,$valeur)
Associée à each(), elle affecte indice et valeur de l'élément courant à
2 variables qcq
 Tri d’un tableau : deux types
Tri par valeur sort(nomt) et rsort(nomt) et tri par indice ksort(nomt) et krsort(nomt)
<?
$t=array("fruit"=>"orange","animal"=>"chien","mineral"=>"crystal");
…
Reset($t);
sort($t); // le tableau devient ("animal"=>"chien","mineral"=>"crystal", "fruit"=>"orange");
….
Reset($t);
rsort($t); // le tableau devient ("fruit"=>"orange", "mineral"=>"crystal","animal"=>"chien");
…
Reset($t);
ksort($t); // le tableau devient ("animal"=>"chien", "fruit"=>"orange","mineral"=>"crystal");
……
Activité : Afficher le tableau après chaque tri?
II-7-a. Les chaînes de caractères:
<?
echo(substr("informatique",-3)."<br>");// la chaîne que sera affiché
echo(substr("informatique",-7,3)."<br>"); // la chaîne mat sera affiché
echo(substr("informatique",1,3)."<br>"); // la chaîne nfo sera affiché (le 1èr indice est 0)
echo(substr("informatique",0,3)."<br>"); // la chaîne inf sera affiché
echo(substr("informatique",2)."<br>"); // la chaîne formatique sera affiché
echo("les"."
Ordinateurs
echo("les".trim("
"."P"); // la chaîne les
Ordinateurs
ordinateurs P sera affiché
")."P"); // la chaîne lesordinateursP sera affiché
//la fonction trim retire les espaces blancs de début et de fin de la chaîne.
echo(strlen("informatique")."<br>"); // la longueur 12 sera affiché
$ch="informatique";
$ch=str_replace("i","*",$ch);
echo("$ch <br>"); la chaîne *nformat*que sera affiché ( i sera remplacer par *)
?>
 Fonction Explode(séparateur,Chaîne) et implode(séparateur,tableau)
<?
$ch="45|65|96|12|13|40|25|89|10|62|23";
$tab=explode("|",$ch);
// la fonction explode retourne un tableau qui contient les éléments de la chaîne $ch
$vect=array("orange","chien","crystal");
$ch=implode("|",$vect);
Echo ("<br> $ch"); // la chaîne orange|chien|crystal sera affiché
// la fonction implode retourne une chaîne constituée de tous les éléments du tableau
// séparés par le séparateur "|"
Activité : écrivez un formulaire qui permet de saisir une chaîne formée
par des chiffres et d’afficher la plus grand chaîne formé par tous les
chiffres de la chaîne initiale. Exemple (voir activitexplode.php)
Si la chaîne initiale = "26598549" la chaîne "99865542" sera affiché

II-8. Les fonctions en Php
 Syntaxe
<? Function nomFonction($arg1,$arg2,…,$arg3)
{
corps de la fonction..;
[return $valeur_de_retour;] } ……
nomfonction($p1,$p2,….,$pn); //appel de la fonction
echo nomfonction($p1,$p2,….,$pn); //si la fonction retourne une valeur
?>
 Exemple : <?
function affiche($x)
{ echo ("la valeur de x est $x"); }
function multiplier($a,$b)
{ $p=$a*$b;
return $p;}
…….
affiche(5); // appel de la fonction affiche
Echo multiplier(4,8); // 32 sera affiché
?>
NB: en Php toute fonction doit être préalablement définie avant d’être utilisée.

II-9. Utiliser MySQL avec Php
 MySQL est un Système de Gestion de bases de données relationnelles basé
sur le langage d’interrogation SQL(Structured Query Language).
 L’utilisation de MySQL avec Php s’effectue en quatre étapes :
 1ère étape : Connexion au serveur de données :
Mysql_Connect("Localhost", "root","");
la fonction Mysql_Connect() retourne un entier permettant
de vérifier la connexion.
 2ème étape :Sélection de la base de données :
Mysql_select_db(database_name);
la fonction Mysql_select_db() retourne true ou false selon
que l’opération réussit ou non
Exemple : soit la base de donnée Gclasse contenant une table eleve
ayant la structure suivante : Code_el, Nom_el, Classe, Moy_ann.
 Mysql_select_db(gclasse);
 3ème étape :Exécution d’une requête SQL:
Mysql_Query(requête);
requête est une chaîne de caractères représentant une
requête SQL : Exemples :
$rq="Select * from eleve";
$resultat= Mysql_Query($rq);// les données se trouvent maintenant
//dans la mémoire dans la variable $resultat
 4ème étape :Exploitation des résultats:
La fonction Mysql_fetch_array() permet la lecture du résultat
enregistrement par enregistrement.
Elle met l’enregistrement sous forme d’un tableau associatif :
exemple :
 $enreg est un tableau associatif d’indices les nom de colonnes du
table eleve.
 Tantque la fonction Mysql_fetch_array dans le tableau $enreg
echo $enreg["code_el"]; echo $enreg["nom_el"];
echo $enreg["classe"]; echo $enreg["moy_ann];
Fin Tantque
 Activité : Utilisé PhpMyadmin pour
créer la base de données gclasse.
Bouton droite sur
 Option « Administration »
 Choisir « Gestion BDD »
 Nommer la base et valider
 nommer la table eleve et mettez le
nombre de champs 4
et valider

nommer le champs et les
paramètres (taille de champs de type
varchar, clé primaire …)
 et valider en cliquant sur le bouton
« sauvegarder »
 choisir le menu « Insérer » pour
insérer les enregistrements.
 saisir les données suivantes
Recommandation
Contenu
Recommandation
Pages Web Dynamiques
1.
L’introduction
présentera
 Introduction (2 h)
l’environnement de travail client/Serveur du
 Syntaxe de Base du langage Php ainsi que les scripts coté serveur.
Php (2 h)
2. La partie syntaxe de base du langage
Utilisation de MySQL avec
Php traitera les points suivants : Les
Php (4 h)
structures de données, les types de données,
les structures de contrôles en Php.
Téléchargement