Vous êtes sur la page 1sur 69

Institut National Supérieur de Technologie Industrielle de Lokossa/ UNSTIM

Département de Génie Electrique et Informatique

Programmation web

Cours du semestre 4 de licence pro


Option: Informatique et Télécoms
Conçu et dispensé par
Dr Abel M. KONNON

Programmation web Année: 2019-2020


Organisation de l’UE
Cours magistraux

Travaux pratiques

 Mini projet à mener par les étudiants

Devoir №1 .............. 40 %
Devoir №2 .............. 40 %
MOYENNE
TP et Projet ............... 20 %

Programmation web mkonnon@gmail.com 2


Objectifs de l’ UE
 Objectif général:
L’UE vise à donner à l’étudiant une maîtrise des technologies et outils
pour réussir la conception d’applications Web modernes

 Objectifs spécifiques :
A la fin de l’UE l’apprenant sera capable de:
• comprendre les technologies et les protocoles liés au Web.
• comprendre les nouvelles tendances en matière de développement
Web: outils, environnements.
• décrire les outils et techniques utilisés pour le développement
d’applications Web côté client comme côté serveur.
• maitriser le langage de programmation PHP
• connaitre les fondamentaux du langage mySql
• réussir l’interaction des applications clientes avec un serveur web
• réaliser des sites web fonctionnels

Programmation web
Contenu
1. Généralités sur les langages
2. Introduction à PHP
3. Syntaxe du langage PHP
4. Variables et opérateurs de PHP
5. Contrôle et fonctions de PHP
6. Programmation en PHP
7. Initiation aux bases de données relationnelles
8. Syntaxe de MySQL
9. Fonctions de MySQL
10. Requêtes MySQL en PHP
11. Initiation au JavaScript
12. Outils et techniques Web modernes
Programmation web mkonnon@gmail.com 4
Généralités
Généralités sur les langages informatiques
Langage interprété
Un programme écrit dans un langage « interprété » a besoin d’un programme
auxiliaire (l’interpréteur) pour traduire au fur et à mesure les instructions du
programme pour les rendre intelligibles du point de vue du processeur. PHP,
VBScript, WebDNA

Langage compilé
Un programme écrit dans un langage « compilé » est traduit une fois pour toutes
par un programme annexe (le compilateur) afin de générer un nouveau fichier qui
sera autonome, qui n’a plus besoin d’un autre programme pour s’exécuter. C/C++,
Fortran, Pascal

Langage intermédiaire
• Appartient aux deux catégories (LISP, Java, Python, etc.)
• Un programme écrit dans un langage « intermédiaire » peut dans certaines
conditions subir une phase de compilation intermédiaire vers un fichier écrit dans
un langage qui n’est pas intelligible (donc différent du fichier source) et non
exécutable (nécessité d’un interpréteur).

Programmation web mkonnon@gmail.com 5


Généralités
Langages PHP: Hypertext Preprocessor
Définition:
PHP est un langage informatique exécuté du coté du serveur. Sa
syntaxe est largement inspirée du langage C et de Perl, avec des
améliorations spécifiques.

But du langage PHP:


Ecrire rapidement des pages HTML dynamiques utilisées sur le web.

Caractéristiques:
 Code source ouvert (accès gratuit)
 Supporte tous les standards du web
 Facilement extensible grâce à de nombreux modules
 Compatible avec les nouveaux et anciens standards web (XML, .NET)

Programmation web mkonnon@gmail.com 6


Généralités
Langages PHP: historique
1994: créé par Rasmus Lerdorf pour les besoins des pages web
personnelles (livre d’or, compteurs, etc.). PHP v1 signifiait Personnal
Home Page.

1997: sortie de la version 2 toujours développée par une seule


personne. Popularité ̶ 50.000 sites.

1998: PHP 3 - un projet collectif, dont l’interpréteur est réécrit par


Zeev Suraski et Andi Gutmans. PHP: Hypertext Preprocessor.
Popularité ̶ 10% du parc mondial des serveurs web.
2000: sortie officielle de PHP 4: un nouveau moteur appelé Zend
Engine (contraction de Zeev et Andi) apporte des performances
accrues, plus de sécurité et le support de plusieurs serveurs web, et
sessions.

2005: PHP 5 est une amélioration des performances du moteur Zend


(Zend Engine 2), un modèle objet étendu et très proche du C++.

Programmation web mkonnon@gmail.com 7


Généralités
Langages PHP: historique
2012: PHP 5.5 Cette nouvelle version a connu l’ajout de nouveaux
générateurs, et surtout de Zend Optimizer qui accélère l'exécution
du code PHP et permet l'utilisation des fichiers protégés par une
licence à l'aide de Zend Guard
2014: Depuis PHP 5.6.0, "UTF-8" est la valeur par défaut et celle ci
est utilisé comme jeu de caractères par défaut pour les fonctions et
modules. Autorisation de téléchargement de fichiers de grands
volumes
2015: après six évolutions majeures de la version 5, la version 7 est
officiellement lancée. Cette nouvelle version, basée sur la version 3
du moteur Zend, améliore grandement les performances et apporte
quelques nouvelles fonctionnalités

Programmation web mkonnon@gmail.com 8


Généralités
Langages PHP: Hypertext Preprocessor

Quelques usages: Pré-requis:


 Sites internet  HTML: : Hypertext Markup Language
 Forums et Messageries  Connaissance de langage de

programmation procédurale (ex.: C)


 Commerce électronique
 Un web serveur: environnement
 Internet banking
de compilation des codes PHP
 Publication en ligne
(serveur Apache )
 Moteurs de recherche  Un client: du simple à l’éditeur
 Catalogues en ligne complexe de fichiers PHP

Programmation web mkonnon@gmail.com 9


Généralités
Langages PHP: Hypertext Preprocessor

Programmation web mkonnon@gmail.com 10


Introduction à PHP
PHP & HTML
HTML - pages web standart format html
(extension .htm ou .html)
PHP - pages web dynamiques format php (extension .php)

1. Le code source PHP est directement inséré dans un


fichier html grâce à la balise (ou TAG):
<? … ?> ou <?php … ?> (balise simple)
<script language=‘’PHP’’> … </script> (balise de script)
<% … %> (balise ASP)

2. Pour produire un affichage on utilise « echo », print()


et printf()

Programmation web mkonnon@gmail.com 11


Introduction à PHP
PHP & HTML:exemple
Code PHP: Code HTML

<html> <html>
<head> <head>
<title>Exemple de code Php <title>Exemple de Php
</title> code</title>
</head> </head>
<body> <body>
<?php echo ’’Hello World!’’; ?> Hello World!
</body> </body>
</html> </html>
Programmation web mkonnon@gmail.com 12
Introduction à PHP
PHP & HTML:exemple
Un script php se commente comme en C :
<?php
// commentaire de fin de ligne
/* commentaire sur plusieurs
lignes */
# commentaire de ligne comme en shell
?>
Remarque:
• Tout ce qui se trouve dans un commentaire est ignoré.
• Il est conseillé de commenter ses script pour expliquer l’objet
de leur exécution.
Programmation web mkonnon@gmail.com 13
Introduction à PHP
Variables en PHP
Le typage des variables est implicite en PHP. Il n’est donc pas nécessaire de
déclarer leur type au préalable ni même de les initialiser avant leur
utilisation.

Règle: les identificateurs de variable sont précédés du symbole « $ » (dollars).


Exemple : $var.

Les variables peuvent être de type :


 entier (integer),
 réel (double),
 chaîne de caractères (string),
 tableau (array),
 booléen (boolean).

Programmation web mkonnon@gmail.com 14


Introduction à PHP
Variables en PHP
Remarque:
• Il est possible de convertir une variable en un type primitif grâce au « cast ».
• Le cast est une conversion de type. Le but du « cast » est de convertir une
variable d’un type à un autre.

Exemple :
Pour comparer la valeur de la variable $str (qui peut etre saisie par les
utilisateurs d’une page .php) à un nombre entier ou pour l’attribuer à un
identifiant numérique il faut s’assurer qu’elle est de type « int»

$str = ’’15’’; // $str vaut la chaîne ‘’15’’


$nbr = (int)$str; // $nbr vaut le nombre 15

Programmation web mkonnon@gmail.com 15


Introduction à PHP
Variables d’environnement en PHP
Il existe un certain nombre de variables prédéfinies dans PHP qui sont
utilisées pour accéder aux informations liées au serveur/client.

Exemples: $_SERVER — variables de serveur et d'exécution,


 $_SERVER['PHP_SELF'] — le nom du fichier du script en cours d'exécution
 $_SERVER ['SERVER_ADDR‘] — l'adresse IP du serveur sous lequel le
script courant est en train d'être exécuté.
 $_SERVER ['SERVER_NAME‘] — le nom du serveur hôte qui exécute le
script suivant
 $_SERVER['DOCUMENT_ROOT'] — la racine des documents sur le
serveur
 $_SERVER['DOCUMENT_URI'] — l’adresse du script PHP en relatif (à
partir de la racine du serveur)

Programmation web mkonnon@gmail.com 16


Introduction à PHP
Variables d’environnement en PHP
Il existe un certain nombre de variable prédéfinies dans PHP qui sont
utilisées pour accéder aux informations liées au serveur.

Exemples:
 $_SERVER['HTTP_REFERER'] — URL de la page qui a appelé le script
PHP
 $_SERVER['HTTP_USER_AGENT'] — permet d'avoir des informations
sur : - le type de navigateur utilisé par le client
- le système d'exploitation
 $_SERVER['QUERY_STRING'] — Il s'agit de la partie de l'URL (ayant servi
à accéder au script PHP) située après le point d'interrogation
 $_SERVER['SCRIPT_FILENAME'] — Chemin d'accès complet au script
PHP (ex. c:webservers/home/site.org/lib/page.exe)
 $_SERVER['HTTP_HOST'] Nom de domaine du serveur
Programmation web mkonnon@gmail.com 17
Introduction à PHP
Variables prédéfinies en PHP
Elles sont souvent de type superglobales, c'est à dire accessible depuis
n'importe quelle partie d’un code et sans notion de portée.

Les variables fréquentes prédéfinies:


• $_GLOBALS : tableau des variables globales.
La clé est le nom de la variable.
• $_SERVER : variables fournies par le serveur web,
• $_GET : variables fournies par HTTP par la méthode GET
• $_POST : variables fournies par HTTP par la méthode POST
• $_COOKIE : les variables fournies par un cookie
• $_FILES : variables sur le téléchargement d'un fichier (upload)
• $_ENV : accès aux variables d'environnement du serveur
• $_SESSION : les variables de session (voir cours sur les sessions)

Programmation web mkonnon@gmail.com 18


Introduction à PHP
Quelques fonctions agissantes sur les variables:
empty($var) : teste si la variable est vide ou non (renvoie
‘true’ ou ‘false’)
isset($var) :teste si la variable existe ou non (renvoie true
ou false)
unset($var) : détruit une variable
gettype($var) : retourne le type de la variable
settype($var,’’type’’) : convertit la variable d’un type
à un autre (CAST)

Remarques:
Pour tester le type d'une variable, l’on utilise les fonctions
de type « is_* » :
is_array, is_bool, is_double , is_float , is_int , is_integer , is_long , is_null ,
is_numeric , is_object , is_real , is_resource , is_string , is_callable (est-ce
une fonction?).

Programmation web mkonnon@gmail.com 19


Introduction à PHP
Quelques fonctions agissantes sur les variables:
Fonction spéciale d’assignation: en PHP une variable peut
prendre comme identificateur la valeur d’une autre variable en
utilisant la syntaxe suivante: ${$var} = ‘valeur’

Exemple:
$variable = ‘‘year’’;
$$variable = 2014;
echo $year; // renvoie 2014 (‘year’ a pris la valeur 2014)

Remarques sur les variables de type ‘booléen’:


Les expressions
if($var==true) et if($var)
Sont identiques

Programmation web mkonnon@gmail.com 20


Introduction à PHP
Variables -chaîne de caractères- en PHP
Notion générale: une variable chaîne de caractères n’est pas
limitée en nombre de caractères. Elle est toujours délimitée par
des simples (‘) ou doubles (‘‘) quotes.
Exemples:
$etablissement = ‘IUT’;
$ville = ‘’LOKOSSA’’;
echo $etablissement // affiche IUT

Chaine spéciale: On peut afficher des chaînes de caractères


s’étalant sur plusieurs lignes en utilisant la syntaxe suivante:
$str = <<<EOD
une chaîne de caractères
sur plusieurs lignes EOD;
echo $str; // affiche une chaîne de caractères sur plusieurs lignes

Programmation web mkonnon@gmail.com 21


Introduction à PHP
Quelques fonctions sur les chaînes en PHP
• strlen($str) : retourne la taille de la chaîne $str en caractères.
• strtolower($str) : conversion en minuscules
• strtoupper($str) : conversion en majuscules
• ucfirst($str) : convertit la première lettre en majuscule
• trim($str) : suppression des espaces de début et de fin de chaîne
• rtrim($str), chop($str): suppression des espaces de fin de la
chaîne.
• substr($str,$i,$j) : retourne une sous chaîne de $str de taille $j
et débutant à la position $i
• stristr($str,$char): retourne une sous chaîne de $str commençant
de la position $char et allant jusqu’à la fin de la chaine.
• addslashes($str) : déspécialise les caractères spéciaux
• ord($char) : retourne la valeur ASCII du caractère $char
• chr($int): retourne le caractère dont le code ASCII est $int

Programmation web mkonnon@gmail.com 22


Introduction à PHP
Constantes en PHP
Les constantes de PHP ne sont préfixées par aucun symboles. Elles
sont déclarées de la façon suivante:

define(‘‘id_constante’’,‘‘valeur’’);
// ou bien define(id_constante, ‘‘valeur’’);

Exemple:
define(‘‘NOM_GENERAL’’, ‘‘IUT’’);
define(‘‘NOM_PROPRE’’, ‘‘LOKOSSA’’);

Remarques:
Les constantes ne sont définies qu’une seule fois dans le script.
Leurs valeurs restent inchangées et leurs identificateurs ne sont
pas sensibles à la case (contrairement aux variables).

Programmation web mkonnon@gmail.com 23


Introduction à PHP
Structures de contrôle en PHP
La syntaxe des structures de contrôle est la même que celle en langage C.
Structures conditionnelles
if( condition1) { traitement 1 }
Else { traitement 2}
switch( paramètre_index)
{ case valeur 1 : { traitement 1 } break;
case valeur 2 : { traitement 2 } break;

default : { traitement par défaut }
}
Structures de boucles

for( $i=$n ; $i<$m ; $i++ ) while( condition )


{ traitement } {traitement }
do {traitement }
Programmation web mkonnon@gmail.com 24
Introduction à PHP
Structures de contrôle en PHP
L’instruction break permet de quitter prématurément une boucle.
while($nbr < 10) {
echo $nbr.’’<br>’’;
if($nbr == 5)
break;
$nbr++;
}
L’instruction continue permet d’ignorer le traitement associé à une
valeur de la boucle
Exemple :
for($i=1; $i<=10; $i++) {
if($i==5)
continue;
echo $i;
}
Programmation web mkonnon@gmail.com 25
Introduction à PHP
Tableaux en PHP
La fonction array() permet de créer des tableaux dynamiques. Un
tableau array est temporaire et ne reste généré que le temps de
déroulement du script.

Initialisation d’un tableau


Méthode 1: (classique)
$tableau= array($val1,$val2,$val3,…);
$tableau=array(‘’IUT’’, ’’LOKOSSA’’);
ici $tableau [0]=IUT
$tableau [1]=LOKOSSA

Méthode 2: (initialisation directe)


$tableau[$indice]= $val{$indice};
$tableau[0]=$val0;
$tableau[1]=$val1;
Programmation web mkonnon@gmail.com 26
Introduction à PHP
Tableaux en PHP
Méthode 3: (initialisation directe implicite)
$tableau[]=$val0; // sous-entendu $tableau[0]=$val0
$tableau[]=$val1;

Méthode 4: (tableau associatif )


Dans un tableau associatif on associe à chacun de ses éléments une
clé dont la valeur est de type chaîne de caractères.

Exemple 1 :
$tableau = array(‘’Ville’’ => ‘’LOKOSSA’’, ‘’Ecole’’ => ‘’IUT’’);

Exemple 2 :
$tableau[‘’Ville’’] = ‘’ ‘’LOKOSSA’’;César’’;
$personne[‘’Prénom’’] = ‘’Jules’’;

Ici à la clé ‘’Nom’’ est


Programmation web
associée la valeur ‘’César’’.
mkonnon@gmail.com 27
Introduction à PHP
Tableaux en PHP
Utilisation des données d’un tableau
 L’appel d’un élément d’un tableau se fait à l’aide de son indice
Exemple:
Echo $tableau[0];
Echo $tableau[‘ville’];

 Le parcours d’un tableau se fait à l’aide de contrôle


$i=0;
while($i <= count($tab))
{// la fonction count() retourne le nombre d’éléments
echo $tableau[$i].’’<br>’’;
$i++;
}

Programmation web mkonnon@gmail.com 28


Introduction à PHP
Opérateurs en PHP
• Opérateurs arithmétiques :
+ (addition), - (soustraction), * (multiplication), / (divisision),
% (modulo), ++ (incrément), --(décrément).

• Opérateurs d’assignement :
= (affectation), *= ($x*=$y équivalent à $x=$x*$y),
de même l’on utilise /=, +=, -=, %=

• Opérateurs d’erreur
$retour=@$tab['toto']; // ne retourne pas d'erreurs si l'index
‘toto’ n'existe pas
• Opérateurs de chaîne (., concaténation)
$a="IUT";
$b=$a." LOKOSSA"; // $b retourne ‘ IUT LOKOSSA’

Programmation web mkonnon@gmail.com 29


Introduction à PHP
Opérateurs en PHP
• Opérateurs logiques :
« and » ou « && » ($a and $b, $a && $b) vrai si $a et $b sont vrais
« or » ou « || » ($a or $b, $a || $b) vrai si $a ou $b sont vrais
« xor » ($a xor $b) vrai si $a ou $b sont vrais mais
pas les deux en même temps
«!» (!$a) vrai si $a est faux (ou n’existe pas).

• Opérateurs de comparaison :
Table de vérité de XOR
== ($a==$b, même valeur)), (OU EXCLUSIF)
=== ($a===$b, même valeur et même type), a b a XOR b
< (inférieur strict), <= (inférieur large),
0 0 0
> (supérieur strict), >= (supérieur large),
0 1 1
!= (différence)
1 0 1
1 1 0

Programmation web mkonnon@gmail.com 30


Introduction à PHP
Opérateurs en PHP
Il existe en PHP un opérateur très spécial qui équivaut à une
structure conditionnelle complexe (if then else)

Syntaxe :
$value=(condition)?(expression1):(expression2);
Interprétation:
Si la condition est vraie alors l’opérateur évalue et assigne à $var
l’expression1 sinon il évalue et assigne l’expression2.

Exemple :
$nbr = ($var>10)?($var):($var%10);
Dans cet exemple, la variable
$nbr = $var (prend pour valeur $var ) si $var>10,
sinon
$nbr = $var%10 (vaut le reste de la division entière de $var par 10.
Programmation web mkonnon@gmail.com 31
Introduction à PHP
Référence en PHP
On peut à la manière des pointeurs en C faire référence à une
variable grâce à l’opérateur & (ET commercial).

Exemple :
$var1 = 100; // la variable $var1 est initialisée à la valeur 100
$var2 = &$var1; // la variable $var2 fait référence à $var1
$var1++; // on augmente la valeur de $var1 de 1
echo $var2; // qui est répercutée sur $var2 qui
// vaut alors 101

Donner les valeurs de $x, $y, $z à la fin du script suivant :


$x="PostgreSQL";
$y="MySQL";
$z=&$x;
$x="PHP 5";
$y=&$x;
Programmation web mkonnon@gmail.com 32
Introduction à PHP
Opérations et référence en PHP
Exercice 1
Rédiger une expression conditionnelle pour tester si un nombre
est à la fois un multiple de 3 et de 5.
<?php
$x=1245;
if($x%3==0 AND $x%5==0)
{ echo "$x est multiple de 3 et de 5 <br />« ; }
Else { echo "$x n'est pas multiple de 3 et de 5 <br />« ; }
?>

Exercice 2
Écrivez une expression conditionnelle utilisant les variables $age et
$sexe dans une instruction if pour sélectionner une personne
de sexe féminin dont l’âge est compris entre 12 et 50 ou au delà de 50 ans
pour afficher un message de bienvenue approprié.

Programmation web mkonnon@gmail.com 33


Introduction à PHP
Tableau et contrôle en PHP
Les méthodes ci-dessous sont utilisées pour parcourir un tableau associatif :
$ecole = array(‘’Nom’’ => ‘’IUT’’, ‘’Ville’’ => ‘’LOKOSSA’’)

Méthode 1: accès direct aux éléments du tableau


Exemple 1 :
foreach($ecole as $item) {
echo $item;
}

Méthode 2 : accès simultané aux clés et aux éléments.


foreach($ecole as $key=>$item) {
echo "ecole [".$key . "] : ".$item. "<br>" ;
}
Programmation web mkonnon@gmail.com 34
Introduction à PHP
Fonctions sur les tableaux en PHP
Fonctions Description

array_count_valu retourne un tableau associatif contenant les


es($tab) valeurs du tableau $tab comme clés et leurs
fréquence comme valeur

array_keys($tab) retourne un tableau contenant les clés du tableau


associatif $tab

array_values($ta retourne un tableau contenant les valeurs du


b) tableau associatif $tab

array_search retourne la clé associée à la valeur $val


($val,$tab)

Programmation web mkonnon@gmail.com 35


Introduction à PHP
Fonctions sur les tableaux en PHP
Fonctions Description
reset($tab) place le pointeur sur le premier élément

current($tab) retourne la valeur de l’élément courant


next($tab) place le pointeur sur l’élément suivant

prev($tab) place le pointeur sur l’élément précédant


each($tab) retourne la paire clé/valeur courante

Exemple: $colors = array(‘’red’’, ’’green’’, ’’blue’’);


$nbr = count($colors); reset($colors);
for($i=1; $i<=$nbr; $i++) {
echo current($colors).’’<br>’’;
next($colors);
}
Programmation web mkonnon@gmail.com 36
Introduction à PHP
Fonctions en PHP
Syntaxe:
function ma_fonction($arg1, $arg2,…)
{
Liste des instructions;
Return ($valeur_de_retour);
}

Remarque :
1. Une fonction peut ne pas avoir d’arguments ou encore retourner de
valeurs (le cas d’une fonction d’affichage de message )
2. On peut donner une valeur par défaut aux arguments lors de la
déclaration de la fonction.
Exemple : function set_ville($ville=‘’Lokossa’’) {
echo ‘cette ville est’.$ville;
}
Programmation web mkonnon@gmail.com 37
Introduction à PHP
Fonctions en PHP
Remarques:
3. En version 3 du PHP (version interprétée), une fonction ne peut
être appelée qu’après sa définition. En version 4 et 5 (compilées)
une fonction peut être appelée avant sa définition.

Exemple :
function fonc_1() { // définition de la fonction fonc_1
echo ‘’fonction fonc_1 définie plus haut’’;
}
fonc_1(); // appel de la fonction fonc_1 définie plus haut
fonc_2(); // appel de la fonction fonc_2 définie plus bas

function fonc_2 () { // définition de la fonction f2


echo ‘’fonction fonc_2 définie plus bas’’;
}

Programmation web mkonnon@gmail.com 38


Introduction à PHP
Fonctions en PHP
Remarques:
4. Il est possible de faire retourner plusieurs valeurs d’une fonction
en retournant un tableau (array) ayant pour éléments les
variables à retourner.
Dans l’appel de la fonction, il faudra alors utiliser la procédure
list() qui prend en paramètre les variables à qui ont doit affecter
les valeurs retournées.

Exemple :
function calcul($a, $b) {
return array($a+$b, $a-$b, $a*$b);
}

list($sum, $dif, $prod) = calcul(5, 10); /* affectation aux variables


$sum,$dif et $prod */
Echo ‘sum=’ .$sum. ‘ dif=’.$dif .’ prod=’.$prod;
Programmation web mkonnon@gmail.com 39
Introduction à PHP
Fonctions en PHP
Quelques fonctions mathématiques :
• abs($x) : renvoie la valeur absolue de $x
• ceil($x) : arrondi supérieur
• floor($x) : arrondi inférieur
• pow($x,$y) : x exposant y
• round($x,$i) : arrondi de x à la ième décimale
• max($a, $b, $c …) : retourne l’argument de valeur
maximum
• min($a, $b, $c …) : retourne l’argument de valeur
minimum
• cos, sin, tan, exp, log, sqrt

Constantes mathématiques : pi() , M_PI= 3.141, M_E= 2.718

Programmation web mkonnon@gmail.com 40


Introduction à PHP
Fonctions en PHP
Nombres aléatoires:
rand($x,$y) permet de générer un nombre aléatoire compris entre
$x et $y s’ils sont déclarés sinon génère un nombre
aléatoire compris entre 0 et RAND_MAX

srand() initialise le générateur aléatoire

getrandmax() retourne la valeur du plus grand entier pouvant être


généré.
Remarque:
La fonction rand() se base sur de vieux algorithmes et a donc un
comportement qui peut être prévisible.
La nouvelle fonction mt_rand() est basée sur la cryptographie. Elle
est plus rapide et, pratiquement, imprévisible.
Il en est de même de (mt_srand() et mt_getrandmax())

Programmation web mkonnon@gmail.com 41


Introduction à PHP
Fonctions en PHP
Formatage d’un nombre décimal

number_format ($nbr,$dec,$a,$b) : retourne une chaîne de


caractères représentant le nombre $nbr avec $dec décimales
après formatage.
 La chaîne $a représente le symbole faisant office de virgule et
 La chaîne $b fait office de séparateur de milliers.
 Par défaut, le formatage est anglophone : $a = ‘’.’’ et $b = ‘’,’’

Remarque: Cette fonction est très utile pour représenter les


nombres élevés au format francophone

Exemples:
number_format (1000000.4433); // affiche 1,000,000
number_format (1000000.4433,2); // affiche 1,000,000.44
number_format (1000000.4433,3,",","."); // affiche 1.000.000,443
Programmation web mkonnon@gmail.com 42
Introduction à PHP
Fonctions en PHP
Exercice:

1. Créez une fonction qui génère un mot de passe


composé de 5 chiffres aléatoires et de trois lettres.

2. Modifier la fonction de sorte que:


- si le nombre formé par les chiffres est pair, l’une des lettres est
une voyelle et les deux autres des consonnes
- si le nombre formé par les chiffres est impair, toutes les lettres
sont des consonnes

Programmation web mkonnon@gmail.com 43


Introduction à PHP
Instructions incorporées en PHP

return Dans une fonction, return sert à


1. sortir de celle-ci
2. retourner une valeur
Dans un script, elle sort de celui-ci.

require (‘fichier.php’)  Insère à l'endroit actuel et exécute le fichier PHP.


require _once()  Produit une « erreur fatale » (arrêt d'exécution)

include (‘fichier.php’)  Insère à l'endroit actuel et exécute le fichier PHP.


include _once()  Produit un « warning »
(le code continue en principe son exécution)

file_exists() – fonction utilisée pour vérifier l’existence du fichier


Programmation web mkonnon@gmail.com 44
Introduction à PHP
Instructions en PHP
Arrêt prématuré
Pour stopper prématurément un script, il existe deux fonctions.
1. die() - arrête un script et affiche un message d’erreur dans le
navigateur.
Exemple :
if($retur== false) die(‘’Erreur de calcul intern’’);

2.Exit() - arrête un script, mais sans afficher de message d’erreur.

Exemple :
function exit_f() {
$tab=array(‘A’, ‘B’, ’C’);
if (rand (0,9)>count($tab);
Exit ();
}
Programmation web mkonnon@gmail.com 45
Introduction à PHP
Fichier en PHP
file_get_contents() - la plus simple des fonctions utilisées pour lire
un fichier .
Elle prend comme paramètre le nom du
fichier et elle affecte son contenu à une
variable type chaîne de caractère.

Exemple:
Le fichier test.txt contient le texte suivant:
‘C’est un test sur le contenu du fichier’

Pour afficher le contenu de ce fichier sur une page web:

$str=file_get_contents(’’test.txt’’);
echo $str;

Programmation web mkonnon@gmail.com 46


Introduction à PHP
Fichier en PHP
Quelques fonctions agissantes sur les fichiers:
fopen($file ,$mode) : ouverture du fichier identifié par son nom
$file et dans un mode $mode particulier.
Retourne un identificateur de fichier $fp ou
FALSE en cas d’échec.
fclose($fp) : ferme le fichier identifié par le $fp

fgets($fp, $length) : lit une ligne de $length caractères au maximum. Si


la longueur de la ligne est inférieur à $length, lit
jusqu’à la fin de la ligne.
fputs($fp, $str) : écrit la chaîne $str dans le fichier identifié par $fp
fgetc($fp) : lit un caractère
feof($fp) : teste la fin du fichier retourne TRUE ou FALSE
file_exists($file) : indique si le fichier $file existe dans le dossier
courant. Retourne TRUE ou FALSE. Le nom du fichier
peut être une arborescence de répertoire.
Programmation web mkonnon@gmail.com 47
Introduction à PHP
Fichier en PHP
Quelques fonctions agissantes sur les fichiers:
filesize($file) : retourne la taille du fichier $file en octet
filetype($file) : retourne le type du fichier $file
unlink($file) : détruit le fichier $file
copy($source, $dest) : copie le fichier $source vers $dest
readfile($file) : affiche le fichier $file
rename($old, $new) : renomme le fichier $old en $new
fseek($fp,$pos) : place le pointeur du fichier identifié par $fp à
la position $pos.

Modes d’ouverture de fichiers:


'r' lecture seule
'r+' lecture et écriture
'w' création et écriture seule
'w+‘ création et lecture/écriture
Programmation web mkonnon@gmail.com 48
Introduction à PHP
Fichier en PHP
Exemple d’affichage du contenu d’un fichier :
<?php
$file_2 = ‘ipban.txt’ ; // 192.168.0.3
If (file_exists($file_2) {
if( $fd = fopen($file_2, ‘’r’’)) { // ouverture du fichier en lecture
while ( ! feof($fd) ) { // teste la fin de fichier
$str .= fgets($fd, 15); // $data = fread ($fp, filesize($file_2));
/* lecture jusqu’à la fin ou des 15 premiers caractères */
}
fclose ($fd); // fermeture du fichier
echo $str; // affichage
} else {
die(‘’Ouverture du fichier <b>$file</b> impossible.’’);
}
}
?>Programmation web mkonnon@gmail.com 49
Introduction à PHP
Fichier en PHP
Remarque:
La fonction fopen() permet d’ouvrir des fichiers dont le chemin
est relatif ou absolu. Elle permet aussi d’ouvrir des ressources
avec les protocoles HTTP ou FTP.
Elle renvoie FALSE si l’ouverture échoue.

Exemples :
$fp = fopen(‘’../docs/list.txt’’, ‘’r’’);
$fp = fopen(‘’http://www.php.net/’’,’’r’’);
$fp = fopen(’’ftp://user:password@www.iut.bj/’’, ‘’w’’);

Programmation web mkonnon@gmail.com 50


Introduction à PHP
Fichier en PHP
mode Description
'r' Ouvre en lecture seule, et place le pointeur de fichier au début du
fichier.
'r+' Ouvre en lecture et écriture, et place le pointeur de fichier au début du
fichier.
'w' Ouvre en écriture seule ; place le pointeur de fichier au début du fichier
et réduit la taille du fichier à 0. Si le fichier n'existe pas, on tente de le
créer.
'w+' Ouvre en lecture et écriture ; place le pointeur de fichier au début du
fichier et réduit la taille du fichier à 0. Si le fichier n'existe pas, on tente
de le créer.
'a' Ouvre en écriture seule ; place le pointeur de fichier à la fin du fichier. Si
le fichier n'existe pas, on tente de le créer.
'a+' Ouvre en lecture et écriture ; place le pointeur de fichier à la fin du
fichier. Si le fichier n'existe pas, on tente de le créer.
Programmation web mkonnon@gmail.com 51
Introduction à PHP
Fichier en PHP
'x' Crée et ouvre le fichier en écriture seulement ;
place le pointeur de fichier au début du fichier.
Si le fichier existe déjà, fopen() va échouer, en retournant FALSE et en
générant une erreur de niveau E_WARNING.
Si le fichier n'existe pas, fopen() tente de le créer
'x+' Crée et ouvre le fichier pour lecture et écriture; le comportement est le
même que pour 'x'.
'c' Ouvre le fichier pour écriture seulement.
Si le fichier n'existe pas, il sera crée, s'il existe l'appel à la fonction
n'échoue pas (comme dans le cas de 'x').
Le pointeur du fichier est positionné au début

'c+' Ouvre le fichier pour lecture et écriture, le comportement est le même


que pour le mode 'c'.

Programmation web mkonnon@gmail.com 52


Introduction à PHP
Fichier en PHP: envoi de fichier
Les formulaires permettent de transmettre des informations sous
forme de chaînes de caractères. Ils peuvent aussi permettre à un
internaute de transmettre un fichier vers le serveur.

La balise HTML suivante : <input type=‘’file’’> permet le chargement


de fichiers. La balise FORM doit nécessairement posséder l’attribut
ENCTYPE de valeur ‘’multipart/form-data’’. La méthode utilisée
sera POST. De plus, il est utile d’imposer au navigateur une taille
de fichier limite par le paramètre MAX_FILE_SIZE dont la valeur
numérique a pour unité l’octet.

Exemple
<form action=‘’index.php’’ method=‘’POST’’ ENCTYPE=‘’multipart/form-data’’>
<input type=‘’hidden’’ name=‘’MAX_FILE_SIZE’’ value=‘’1024000’’>
<input type=‘’file’’ name=‘’mon_fichier’’><br>
<input type=‘’submit’’ value=‘’envoyer’’>
</form>

Programmation web mkonnon@gmail.com 53


Introduction à PHP
Fichier en PHP: envoi de fichier
Exemple
<?php
if (!empty($_POST)) {
echo ‘L’identifiant:’.$_POST[‘id’]. ’<br>’;
echo ‘Le nom :’.$_POST[‘nom’]. ’<br>’;
echo ‘Le text:’.$_POST[‘text’]. ’<br>’;
} ?>
<form action=‘’’’ method=‘’POST’’ ENCTYPE=‘’multipart/form-data’’>
<input type=‘’hidden’’ name=‘’id’’ value=‘’1’’>
Nom: <input type=‘’text’’ name=‘nom’’ value=‘’’’><br>
Texte: <textarea col=30 row=15 name=‘text’></textarea><br>

<input type=‘’hidden’’ name=‘’MAX_FILE_SIZE’’ value=‘’1024000’’><br>


<input type=‘’file’’ name=‘’mon_fichier’’><br>
<input type=‘’submit’’ value=‘’Envoyer’’>
</form>
Programmation web mkonnon@gmail.com 54
Introduction à PHP
Fichier en PHP: envoi de fichier
Pour récupérer le fichier, il faut utiliser la variable d’environnement
$HTTP_POST_FILES
Exemple: dans $HTTP_POST_FILES[‘mon_fichier‘] mon_fichier est le
nom donné au champs du formulaire HTML de type file.
La variable $HTTP_POST_FILES[‘mon_fichier‘] est elle aussi un
tableau associatif possédant les champs suivants :
- name: nom du fichier chez le client
- tmp_name: nom temporaire du fichier sur le serveur
- size: taille du ficher en octets
- type: type mime du ficher (txt, jpeg…)

Exemple:
$nom_fichier = $HTTP_POST_FILES[‘’nom_fichier’’][‘’name’’];
Remarque:
Pour la version 4 et 5 du PHP la syntaxe $HTTP_POST_FILES[] peut
se réduire à $_FILES[]
Programmation web mkonnon@gmail.com 55
Introduction à PHP
Fichier en PHP: envoi de fichier
Remarques:
1. Vérifier avec is_file() (ou file_exists()) si un fichier du même
nom existe déjà sur le serveur à l’emplacement où on veut copier
le nouveau fichier. On pourra supprimer l’ancien fichier avec
unlink()
2. Même si le paramètre MAX_FILE_SIZE est inclus dans le
formulaire, il est important de vérifier la taille du fichier
réceptionné.
3. La vérification du type MIME du fichier est également importante
dans le cas où on ne souhaite réceptionner que des types de
fichiers bien particuliers (des images GIF, JPEG ou PNG par
exemple).
4. La durée de vie du fichier temporaire sur le serveur est limitée au
temps d’exécution du script. Pour pouvoir exploiter ultérieurement
le fichier sur le serveur, il faut le sauvegarder dans un répertoire
et lui donner un vrai nom.

Programmation web mkonnon@gmail.com 56


Introduction à PHP
Fichier en PHP: envoi de fichier
On peut charger simultanément plusieurs fichiers en utilisant dans le
formulaire HTML des champs file de noms différents.

Exemple:
<input type=‘’file’’ name=‘’fichier_1’’>
<input type=‘’file’’ name=‘’fichier_2’’>

Exemple:
echo $_FILES[‘’fichier_1’’][‘’name’’].’’<br>’’;
echo $_FILES[‘’fichier_1’’][‘’tmp_name’’] .’’<br>’’;
echo $_FILES[‘’fichier_1’’][‘’size’’] .’’<br>’’;
echo $_FILES[‘’fichier_1’’][‘’type’’] .’’<br>’’;

Echo $_FILES[‘fichier_2’] [‘’name’’]; //traitement du fichier 2

Programmation web mkonnon@gmail.com 57


Introduction à PHP
Dates en PHP: les fonctions

date(‘’format’’) retourne une chaîne de caractères contenant la


date et/ou l’heure locale au format spécifié
getdate() retourne un tableau associatif contenant la date
et l’heure

checkdate($month, vérifie la validité d’une date


$day, $year)

mktime ($hour, retourne le timestamp UNIX correspondant aux


$minute, $second, arguments fournis c’est-à-dire le nombre de
$month,$day, secondes entre le début de l'époque UNIX
$year) (1er Janvier 1970) et le temps spécifié

time() retourne le timestamp UNIX de l’heure locale

Programmation web mkonnon@gmail.com 58


Introduction à PHP
Date en PHP: les formats
d Jour du mois sur deux chiffres [01..31]
j Jour du mois sans les zéros initiaux
l Jour de la semaine textuel en version longue et en anglais
D Jour de la semaine textuel en trois lettres et en anglais
w Jour de la semaine numérique [0..6] (0: dimanche)
z Jour de l'année [0..365]
m Mois de l'année sur deux chiffres [01..12]
n Mois sans les zéros initiaux
F Mois textuel en version longue et en anglais
M Mois textuel en trois lettres
Y Année sur 4 chiffres
y Année sur 2 chiffres
h Heure au format 12h [01..12]
g Heure au format 12h sans les zéros initiaux

Programmation web mkonnon@gmail.com 59


Introduction à PHP
Date en PHP: les formats
H Heure au format 24h [00..23]
G Heure au format 24h sans les zéros initiaux
i Minutes [00..59]
s Secondes [00.59]
a am ou pm
A AM ou PM
L Booléen pour savoir si l'année est bissextile (1) ou pas (0)
S Suffixe ordinal anglais d'un nombre (ex: nd pour 2)
t Nombre de jour dans le mois donné [28..31]
Z Décalage horaire en secondes [-43200..43200]

Exemples:
$created_date = date("Y-m-d"); //date("Y-m-d H:i:s");
$time = date('H:i:s',strtotime($created_date));
$expiration_date= date("Y-m-d",time() + 7* 3600 * 24);
Programmation web mkonnon@gmail.com 60
Introduction à PHP
Date en PHP: les formats
Les clés du tableau associatif retourné par getdate
seconds : secondes
minutes : minutes
hours : heures
mday : jour du mois
wday : jour de la semaine, numérique
mon : mois de l'année, numérique
year : année numérique
yday : jour de l'année numérique
weekday : jour de la semaine, textuel complet en anglais
month : mois textuel complet en anglais
Exemple:
$today=getdate();
If ($today[‘mday’]==‘31’) && ($today[‘mon’]==‘12’)
Echo ‘C’est le dernier jour de l’année’;
Programmation web mkonnon@gmail.com 61
Introduction à PHP
Expressions régulières en PHP:

ereg($motif, $str) teste l’existence du motif $motif dans la chaîne


$str

ereg_replace remplace les occurrences de $motif dans $str


($motif, $newstr, par la chaîne $newstr
$str)
split($motif, $str) retourne un tableau des sous-chaînes de $str
délimitées par les occurrences de $motif

Exemple:
$adress= ‘IUT Lokossa, tel: +229 ’
if (eregi(‘’lokossa’’, $adress)) echo l’Ecole est à Lokossa.

Programmation web mkonnon@gmail.com 62


Introduction à PHP
Expressions régulières en PHP:
Les motifs peuvent être très complexes et contenir des caractères
spéciaux.

Les caractères spéciaux

[abcdef] : intervalle de caractères, teste si l’un d’eux est présent


[a-f] : plage de caractères, teste la présence de l’un des caractères
compris entre a et f
^ : le motif suivant doit apparaître en début de chaîne
\^ : recherche du caractère ’^’ que l’on déspécialise par l’antislash
. : remplace un caractère
* : remplace 0 ou plusieurs caractères à base du motif précédent
+ : remplace 1 ou plusieurs caractères à base du motif précédent
$ : le motif précédant doit apparaître en fin de chaîne

Programmation web mkonnon@gmail.com 63


Introduction à PHP
Expressions régulières en PHP:
Exemples
‘’[A-Z]’’ : recherche toutes les majuscules
‘’[a-zA-Z]’’ : recherche toutes les lettres de l’alphabet minuscules ou
majuscules
‘’^Le ’’ : toute chaîne commençant par le mot ‘’Le ‘‘ suivi d’un espace
‘’\.com$’’ : toute chaîne se terminant par ’’.com’’ (déspécialise le
point)

Code de validation d’E-mail


$email = test_input($_POST["email"]);
if (!preg_match("/([\w\-]+\@[\w\-]+\.[\w\-]+)/",$email))
{
$emailErr = "Invalid email format";
}

Programmation web mkonnon@gmail.com 64


Introduction à PHP
La fonction mail() en PHP:
La fonction mail() est utilisée pour l’envoi de message électronique
Syntaxe :
mail($destinataire, $sujet, $message, $entêtes);

Arguments obligatoires: le destinataire, le sujet du message et le


message proprement dit.
Arguments facultatifs: les entêtes et paramètres additionnels.

Exemple :
$message = ‘’Mon 1er mail’’;
mail(‘’contact@iutlokossa.com’’, ‘’Juste un test’’, $message);

Remarque: cette fonction ne marche que si un programme de


messagerie électronique (appelé « mailer ») est préalablement
installé sur le serveur.
Programmation web mkonnon@gmail.com 65
Introduction à PHP
La fonction mail() en PHP:
Format général des entêtes :
Nom-Entête: valeur

Quelques entêtes :
From: contact@iutlokossa.com //L’envoyeur
X-Mailer: PHP\n // maileur
X-Priority: 1\n // Message urgent!
Return-Path: deamon@php-help.com // @ retour pour erreurs
Cc: archives@php-help.com // Champs CC (invisible)
Reply-to: <hugo@php-help.com> // E-mail de retour

Remarque: la fonction mail() renvoie:


true si le message a été envoyé avec succès,
false dans le cas d’un échec.

Programmation web mkonnon@gmail.com 66


Introduction à PHP
La notion de class en PHP:
Syntaxe:
Class NomdelaClasse {
var $variable1;
function nomdelaClasse($var){
$this-> $variable1= $var;
}
function UneFonction($args){
corps de la fonciton;
}
} // Fin de la classe;

Utilisation d’une classe:


$class = new NomdelaClasse(); //création d’une instance
$valeur = $class->UneFonction($arguments); //appel d’une méthode;

Programmation web mkonnon@gmail.com 67


Introduction à PHP
La notion de classe en PHP:
Exemple1:
Class displayEcole {
var $type;
function displayEcole(){
$this->type=‘IUT’;
}
function displayType($ecole){
$pattern= "/^$this->type/";
if (preg_match($pattern, $ecole[‘nom’])|| preg_match($pattern,
$ecole[‘adress’]))
{echo “L’école est de type:<strong>”. $this->type.”</strong>”;}
}
}
$inst = array(‘’nom’’ => ‘’IUT ’’, ‘’adress’’ => ‘’IUT LOKOSSA’’ );
$ecole= new displayEcole();
Echo $ecole-> displayType($inst);
Programmation web mkonnon@gmail.com 68
Introduction à PHP
La notion de classe en PHP:
L’héritage entre classes en PHP est de type simple.

Exemple1:
Class displayEcoleInfo extends displayEcole{
var $type;
function displayEcoleInfo(){
$type= $this->displayEcole ();
}
function displayInfo($ecole){
echo “type:“. $this->type. "<br>";
foreach($ecole as $key=>$item) {
echo "ecole [".$key . "] : ".$item. "<br>" ;
}
}
}
Programmation web mkonnon@gmail.com 69

Vous aimerez peut-être aussi