0% ont trouvé ce document utile (0 vote)
9 vues57 pages

Introduction au développement PHP dynamique

Le document présente un cours sur le développement web dynamique, axé sur le langage PHP et l'utilisation de MySQL. Il couvre des sujets tels que l'installation de l'environnement de développement avec XAMPP, la syntaxe de base de PHP, les structures conditionnelles, la manipulation des formulaires, et l'utilisation des bases de données. Des exercices pratiques et un mini-projet sont également inclus pour renforcer l'apprentissage.

Transféré par

6ahmedtrabilsy9
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
9 vues57 pages

Introduction au développement PHP dynamique

Le document présente un cours sur le développement web dynamique, axé sur le langage PHP et l'utilisation de MySQL. Il couvre des sujets tels que l'installation de l'environnement de développement avec XAMPP, la syntaxe de base de PHP, les structures conditionnelles, la manipulation des formulaires, et l'utilisation des bases de données. Des exercices pratiques et un mini-projet sont également inclus pour renforcer l'apprentissage.

Transféré par

6ahmedtrabilsy9
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

Unité 4 : développement web

dynamique

Enseignant : Riadh BOUSLIMI

Année universitaire : 2021/2022


1
2
3
Table de matières

Atelier 1 : Introduction au langage PHP ________________________________________ 1


1. Introduction __________________________________________________________ 1
2. Environnement de développement ________________________________________ 2
3. Mise en œuvre et fonctionnalité du logiciel XAMPP __________________________ 2
Atelier 2 : Syntaxe de base du langage PHP _____________________________________ 4
1. Mon premier page PHP _________________________________________________ 4
2. Les commentaires _____________________________________________________ 6
3. Les constantes ________________________________________________________ 6
4. Les variables _________________________________________________________ 6
4.1. Variables scalaires ___________________________________________________ 7
4.2. Variables tableaux ___________________________________________________ 8
4.3. Variables tableaux associatifs ___________________________________________ 8
4.4. Conversion de types __________________________________________________ 8
4.5. Fonctions de manipulation de variables ___________________________________ 9
4.6. Quelques fonctions sur les chaînes de caractères ____________________________ 9
5. Les opérateurs _______________________________________________________ 10
5.1. Les opérateurs arithmétiques __________________________________________ 10
5.2. Les opérateurs d'assignation ___________________________________________ 11
5.3. Les opérateurs d'incrémentation ________________________________________ 11
5.4. Les opérateurs de comparaison_________________________________________ 12
5.5. Les opérateurs logiques ______________________________________________ 12
5.6. Autres opérateurs ___________________________________________________ 12
6. Exercices d’application ________________________________________________ 13
Atelier 3 : Les structures conditionnelles et les boucles ___________________________ 14
1. Qu'est-ce qu'une structure conditionnelle ? _________________________________ 14
2. Les structures conditionnelles ___________________________________________ 14
2.1. L'instruction if _____________________________________________________ 14
2.2. L'instruction if ... else ________________________________________________ 14
2.3. L'instruction if ... elseif ... else _________________________________________ 16
2.4. L'instruction switch _________________________________________________ 17
3. Les boucles _________________________________________________________ 17
3.1. La boucle for _____________________________________________________ 17
3.2. L'instruction while __________________________________________________ 18
3.3. L'instruction do..while _____________________________________________ 20
4. Exercices d’application ________________________________________________ 21
Atelier 4 : Manipulation des formulaires ______________________________________ 22
1. Récupération des informations __________________________________________ 22
2. La méthode POST ____________________________________________________ 23
3. La méthode GET _____________________________________________________ 24
4. Exercices d’application ________________________________________________ 25
Atelier 5 : Base de données MySQL __________________________________________ 27
1. SGBD MySQL ______________________________________________________ 27
2. Les formats des données en MySQL______________________________________ 27
3. PhpMyAdmin _______________________________________________________ 28
4. Créer une base de données _____________________________________________ 28
5. Manipulation d’une base de données depuis Php ____________________________ 31
6. Exercice d’application _________________________________________________ 31
6.1. Création de la base de données _________________________________________ 32
6.2. Ajout d’un enregistrement ____________________________________________ 32
6.3. Affichage des enregistrements _________________________________________ 34
6.4. Modification d’un enregistrement ______________________________________ 36

4
6.5. Suppression d’un enregistrement _______________________________________ 37
Correction ________________________________________________________________ 38
Atelier 6 : Les sessions _____________________________________________________ 44
1. Principe des sessions en PHP ___________________________________________ 47
2. Exercice d’application : authentification par session _________________________ 48
Mini-Projet _______________________________________________________________ 49
Bibliographie _____________________________________________________________ 50

5
Matière : Technologies & Niveau : GLSI2 & BIGDATA2
Programmation WEB & IOT_SEM
Enseignant : Dr Riadh BOUSLIMI AU : 2021/2022 – Semestre 2

Atelier 1 : Introduction au langage PHP

Objectifs :

▪ Découvrir le langage PHP,


▪ Installer et configurer un serveur d’application.

1. Introduction
Le langage PHP a été créé par Rasmus Lerdorf en 1994 pour ses besoins personnels. Le
mot clé Php signifie Personnal Home Page. [REF5]

Les principaux avantages du langage Php sont :

▪ Open Source et gratuit


▪ Indépendance de la plate-forme : les applications basées sur PHP peuvent
s'exécuter sur n'importe quel système d'exploitation tel qu'UNIX, Windows, Linux,
etc.,
▪ Chargement facile : On peut charger facilement les applications basées sur PHP et
les connecter à une base de données.
▪ Convivial et stable : Le langage est simple à utiliser, et si l'on connaît la
programmation C, on peut s'adapter rapidement au langage PHP pour le
développement d'applications. Il peut fournir une assistance et un support continu.
Ils peuvent également obtenir de l'aide sur différentes versions.
▪ Flexible : il est très flexible et les utilisateurs peuvent facilement l'utiliser pour
combiner sa fonction avec divers autres langages de programmation.
▪ Connexion à la base de données : il dispose d'une connexion à la base de données
intégrée qui permet de connecter des bases de données et de réduire les problèmes
et le temps nécessaires pour développer des applications Web ou des sites basés sur
le contenu.
▪ Prise en charge des bibliothèques : PHP dispose d'une solide prise en charge des
bibliothèques à l'aide desquelles on peut utiliser les différents modules de fonction
pour la représentation des données.
▪ L’intégration au sein de nombreux serveurs Web (Apache, Microsoft IIS,
GlassFish, etc.).

1
2. Environnement de développement
Un site Web dynamique nécessite l’installation d’un serveur d’application en local, qui
servira à interpréter les scripts PHP et un Serveur MySQL pour créer une connexion à la
base de données et tester les requêtes de manipulation des données de la base.

Vous pourrez programmer en PHP sans avoir besoin d’être connecté sur Internet, sinon vous
serez amené à envoyer les fichiers vers le serveur de l’hébergeur.

Pour les programmeurs Windows, il existe un utilitaire très pratique (XAMPP) qui installera
Apache, Php, MySQL et aussi phpMyAdmin (une interface conviviale gratuite pour la
gestion des bases de données MySQL). [REF4]

3. Mise en œuvre et fonctionnalité du logiciel XAMPP


− Installez XAMPP compatible avec windows 7 et 8
− Créez un répertoire de travail tpphp sous le répertoire racine du serveur Web apache
(par défaut, sous Windows, c:\xampp\htdocs)
− Démarrer XAMPP
− A l’aide du menu contextuel de l’icône XAMPP, testez les différentes fonctionnalités
offertes.
− Testez le bon fonctionnement du serveur Web en accédant à l’adresse :
[Link] ou [Link] ou encore [Link]

À savoir

Figure 1 : Accès aux fonctionnalités du logiciel XAMPP


▪ L’option Configuration permet de configurer les diverses composantes d’XAMPP ;
▪ L’option Web local permet d’accéder à la racine du serveur Web (contenu de
c:\XAMPP\htdocs) ;
▪ Les options arrêter et redémarrer permettent respectivement d’arrêter et de relancer les
serveurs ;
▪ L’option fichier Log permet d’ouvrir les différents fichiers de configuration de PHP,
MySQL, Apache et XAMPP ;
▪ L’option Quitter permet d’arrêter les différents serveurs puis quitter XAMPP.
2
3
Atelier 2 : Syntaxe de base du langage PHP
Matière : Technologies & Niveau : GLSI2 & BIGDATA2
Programmation WEB & IOT_SEM
Enseignant : Dr Riadh BOUSLIMI AU : 2021/2022 – Semestre 2

Objectifs :

▪ Ecriture d’un script PHP,


▪ Connaitre la syntaxe de base du langage PHP (constante, variable, opérateur etc..).

1. Mon premier page PHP


Le script dispose de deux conditions fondamentales qui sont :
▪ Le code PHP doit être enregistré dans un fichier prenant l'extension .php.
▪ le code PHP est embarqué avec du code HTML et qui doit être délimité par les
balises <?php et ?>.
Exemple
▪ On ouvre l’éditeur de texte le Bloc-notes de Windows OU Notepad++ et on écrit
le code suivant :
<html>
<head>
<title>Exemple</title>
</head>
<body>
<?php
echo "Bonjour";
?>
</body>
</html>

▪ Ce qu’il faut retenir à ce niveau que la fonction echo permet d'afficher un


contenu dans une page WEB et dont le contenu doit être une chaîne de caractères
délimitée entre des guillemets.
▪ On sauvegarde le contenu dans un fichier nommé "[Link]" et dans le
dossier tpphp du htdocs de XAMPP (XAMPP htdocs tpphp).

4
Figure 2 : Explorateur du dossier XAMPP
▪ On lance XAMPP pour mettre en œuvre le trinôme Apache - PHP - MySQL qui
activera ainsi le réseau local.

Figure 3 : Logo d'Xampp


▪ On ouvre ensuite Microsoft Internet Explorer. Après avoir encodé l'adresse de la
page soit [Link] ou de façon équivalente
[Link] on obtient ainsi dans le
navigateur.

Figure 4 : Aperçu d'exécution de la page "[Link]"


▪ S'il nous prend la fantaisie d'afficher la source dans le navigateur (pour Internet
Explorer Affichage Source), vous remarquerez que toute trace de votre
script en PHP a disparu.

Figure 5 : Aperçu du fichier "[Link]" dans le navigateur


5
2. Les commentaires
Il existe plusieurs façons d’écrire des commentaires :

▪ Un commentaire multilignes en PHP est délimité entre « /* » et « */» et il est noté


de la façon suivante :
/* Ligne 1 : Commentaire
Ligne 2 : suite du commentaire */
▪ On peut ajouter un commentaire dans une seule ligne en utilisant un double slash (//).
// commentaire dans une seule ligne

3. Les constantes
La définition d’une constante sera avec la fonction define().
Exemple
<html>
<head>
<title>Les constants en PHP</title>
</head>
<body>
<?php
define("ISLAIB","Institut Supérieur des Langues Appliquées et
d’Informatique de Béjà");
echo "Je suis étudiant à la ".ISETJ;
// C’est du commentaires
?>
</body>
</html>

Remarque
L’opérateur «.» permet la concaténation des contenus des objets.

Figure 6 : Aperçu d'une déclaration d'une constante


4. Les variables
Une variable est un objet dont elle doit avoir certaines conditions :

▪ Le nom d’une variable doit commencer par une lettre (majuscule ou minuscule)
ou un caractère "_" et non pas par un chiffre.
▪ Le nom d’une variable peut comporter des lettres, des chiffres et le caractère _

ATTENTION : Les espaces ne sont autorisés pour définir un nom d’une variable.

6
Tableau 1 : Quelques exemples de déclaration de variables
Nom de variable correct Nom de variable incorrect Raison
$NomPrenom $Nom et prenom comporte des espaces
$Nom_prenom $987Nom_et_prenom commence par un chiffre
$nom_et_prenom $riadh@[Link] caractère spécial @
$nom_de_variable_123 $Nom-et-prenom signe - interdit
$nom_2_variable nom_et_prenom ne commence pas par $

ATTENTION : En PHP, tous les noms d’objets sont tous sensibles à la casse c’est-à-dire il
y’en a une différence entre les lettres qui sont en majuscules et qui sont minuscules).

4.1. Variables scalaires


Il y’en a trois types de variables scalaires en PHP :
▪ Integer .
▪ Double : valeurs décimales.
▪ String : ensembles de caractères.
En PHP le typage des variables est automatique, il suffit d’affecter à une variable ou un objet
une valeur.
Tableau 2 : Exemple d'affectation de valeurs et type de données assignés
Instruction Type de la variable
$nom_var = 0; Integer
$nom_var = 13; Integer
$nom_var = 0.0; Double
$nom_var = 13.0; Double
$nom_var = "0.0"; String
$nom_var = "Bonjour à tous"; String
Exemple
<html>
<head>
<title>Les variables en PHP</title>
</head>
<body>
<?php
$a = 1;
$b = 5.74;
$c = "Le monde entier";
echo $a,"<br>",$b,"<br>",$c;
?>
</body>
</html>

7
4.2. Variables tableaux
Un tableau est une variable qui peut contenir des valeurs hétérogènes pas obligatoirement de
mêmes types. L’accès à un élément sera via son index et qui doit commencer à partir de 0.
Exemple d’affectation de valeurs :
$Tableau[0] = 11;
$Tableau[1] = "Bonjour";
Avec PHP, On peut faire une affection des valeurs sans assignés les indices et dans ce cas le
premier élément sera d’indice 0.
Exemple d’affectation de valeurs :

$Tableau[] = 11;
$Tableau[] = "Bonjour";

Remarque
On peut déclarer un tableau en utilisant la fonction array().
Exemple :

<?php
$Tableau = array(12,"Bonjour");
?>

4.3. Variables tableaux associatifs


Avec PHP on peut définir un enregistrement en utilisant des chaînes de caractères à la place des
indices d’un tableau, on parle alors de tableaux associatifs.
Exemple :
$Auteur["Nom"] = "BOUSLIMI";
$Auteur["Prenom"] = "Riadh";
$Auteur["Code_Postal"] = 8100;
Ou avec array() :
<?php
$Auteur = array(
Nom=>"BOUSLIMI",
Prenom=>"Riadh",
Code_Postal=>8100
);
?>
4.4. Conversion de types
La conversion d’un type vers un autre type se fait avec la fonction settype dont les types
possibles sont : integer, double, string, array ou object.
La fonction settype renvoie TRUE en cas de succès, FALSE sinon.
La conversion est possible en utilisant un cast.
8
Exemple
$x = 13.7; // $x est une valeur double
$x1 = (int) $x; // $x1 vaut 13
$x2 = (double)$x1; //$x2 vaut 13.0
$x3 = (string)$x;//$x3 vaut "13.7")

4.5. Fonctions de manipulation de variables


Afin de connaître le type de données d’une variable, on pourra employer l’une des
fonctions suivantes :
▪ is_long(): qui vérifie si la valeur est de type Long.

▪ is_double() : si la valeur est de type double.

▪ is_string() : si la valeur est de type String.


▪ is_array() : si la valeur est un tableau.

▪ is_object() : si la valeur est un objet.

Une autre fonction très employée et qui permet de vérifier si une variable est affectée par une
valeur est : isset(v). La fonction renvoie TRUE si la variable v admet une valeur, FALSE
sinon.
Exemple
$Prenom = "Riadh";
echo(isset($Prenom)); // TRUE

La vérification si une valeur est vide sera via la fonction empty et pour vérifier si la valeur
est numérique on peut utiliser la fonction prédéfinie isnumeric.
4.6. Quelques fonctions sur les chaînes de caractères
▪ $ch_res = strchr($ch,$occurrence) ;
Renvoie une chaîne à partir de la première position du caractère dans la chaîne.
▪ $n = strcmp($ch_1,$ch_2) ;
Compare en binaire deux chaînes de caractères et renvoie un nombre négatif si la
première chaîne et plus petite que la seconde, un positif dans le cas contraire ou un nul
en cas d’égalité.
▪ $ch_res = substr($ch,$pos,$longueur) ;
Retourne une sous-chaine à partir de la position spécifiée et jusqu’à une certaine
longueur.
▪ $ch_res = trim($chaine) ;
Supprime les espaces blancs du début et à la fin d’une chaîne de caractères.
▪ $n = strlen($chaine) ;
Renvoie la longueur de la chaîne de caractères.
▪ $tab = explode($delimiteur,$chaine) ;
Renvoie un tableau contenant les chaines délimitées par le delimiteur (ex : « : », « , »,
« ; » etc.) .

9
▪ $ch_res = implode($delimiteur,$tab) ;
Renvoie une nouvelle chaine de caractères et concatène tous les éléments du tableau et
dont chaque élément sera séparé par un délimiteur.
▪ $ch_res = str_replace($rech,$remplacement,$chaine);
Remplace tous les caractères dans la chaine est renvoie une nouvelle chaine résultat.
5. Les opérateurs
5.1. Les opérateurs arithmétiques
On donne dans ce qui suit un tableau contenant les opérateurs arithmétiques :
On suppose qu’on a une variable $x = 6.
Tableau 3 : Liste des opérateurs arithmétiques
Opérateur Description Exemple Résultat
+ Additionne deux valeurs $x+4 10
- Soustraire deux valeurs $x-4 2
* Multiplie deux valeurs $x*4 24
/ Divise deux valeurs $x/5 1.122
% Reste de la division entière $x=$x%3 0
Exemple

<html>
<head>
<title>Les opérateurs</title>
</head>
<body>

<?php
$a = 8;
$b = 3;
echo $a + $b."<br>";
echo $a - $b."<br>";
echo $a * $b."<br>";
echo $a / $b."<br>";
?>

</body>
</html>

Figure 7 : Aperçu d'application des opérateurs arithmétiques

10
5.2. Les opérateurs d'assignation
Pour minimiser l’écriture d’une expression, on peut simplifier l’opération d’addition, de
soustraction, de multiplication, modulo, ou autre par les opérateurs : +=, -=, *=, /=, %=, |=, ^=,
&=, et .= .
Exemples
$x = 5; // $x vaut 5
$x += 3; // $x vaut 8
$x -= 4; // $x vaut 4
$x %= 4; // $x vaut 0

5.3. Les opérateurs d'incrémentation


Ce type d'opérateur permet de simplifier l’incrémentation ou la décrémentation. Ce type
d’opération est très utilisé dans les boucles.
Tableau 4 : Exemple d'incrémentation/décrémentation d’une valeur numérique
Opérateur Dénomination Effet Syntaxe Résultat
++ Augmente d'une unité la $x++
Incrémentation 6 (avec x = 5)
variable
-- Décrémentation Diminue d'une unité la variable $x-- 4 (avec x = 5)
Exemple
Où a=8 et b=3 :
<html>
<head>
<title>Les opérateurs</title>
</head>
<body>
<?php
$a = 8;
$b = 3;
$a++;
echo $a."<br>";
$b--;
echo $b."<br>";
?>
</body>
</html>

Figure 8 : Aperçu d'incrémentation et décrémentation d'une valeur

11
5.4. Les opérateurs de comparaison
La comparaison de deux variables se fait en utilisant les opérateurs suivants :
Opérateur Description Exemple Résultat
== Permet de vérifier l’égalité entre deux $x==2 Renvoie 1 si $x
valeurs est égal à 2, sinon
0
< Permet de vérifier si une valeur est $x<2 Renvoie 1 si $x
strictement inférieure à une valeur est inférieur à 2,
sinon 0
<= Permet de vérifier si une valeur est inférieure $x<=2 Renvoie 1 si $x
ou égale à une valeur est inférieur à 2,
sinon 0
> Permet de vérifier si une variable est $x>2 Renvoie 1 si $x
strictement supérieure à une valeur est supérieur à 2,
sinon 0
>= Permet de vérifier si une variable est $x>=2 Retourne 1 si $x
supérieure ou égale à une valeur est supérieur ou
égal à 2, sinon 0
!= Vérifie si une valeur est différente d'une $x!=2 Retourne 1 si $x
autre valeur est différent de 2,
sinon 0

ATTENTION : Il ne faut pas confondre l'opérateur d'égalité (==) avec le signe


d'affectation (=).

5.5. Les opérateurs logiques


Ce type d'opérateur est très utiliser dans les structures de contrôle et qui permet de vérifier si
deux conditions reliées à des opérateurs logiques sont vraies :
Opérateur Description Syntaxe
|| ou OR Permet de vérifier qu'une des conditions est vraie ((cond1)||(cond2))
&& ou Permet de vérifier que toutes les conditions sont ((cond1)&&(cond2))
AND vraies
XOR Inverse de l’opération OU logique ((cond1)XOR(cond2))
! C’est la non logique d’une condition et qui (!(cond1))
renvoie 1 si VRAI et 0 sinon.

5.6. Autres opérateurs


Il y’en a d’autres opérateurs très utilisés comme le symbole « $ » qui sert pour référencer une
variable en PHP, l’opérateur « . » qui sert à faire la concaténation entre deux chaines de
caractères et enfin le caractère « -> » qui permet d’accéder à d’autre données membres d’une
classe.

12
6. Exercices d’application
Exercice n°1 : les variables simples
Question 1 : Écrire une page HTML « [Link] » qui affiche cela

Question 2 : Écrire une page PHP « [Link] » qui affiche la même chose en utilisant les
variables :
$b="Bonjour";
$c="à tous";

$ligne="<hr>";

$d="vive le php !";


Question 3 : Ajouter le caractère « \n » dans le code php du programme pour voir son influence
sur la présentation de la source de la page résultat (sur le navigateur).
Exercice n°2 : les variables tableaux
Question 1 : Écrire une page HTML « [Link] » qui affiche cela :

Question 2 : Écrire une page PHP « [Link] » qui affiche la même chose en utilisant les
variables :
$a="bonjour1";
$b="bonjour2";
$c="bonjour3";
$d="bonjour4";
$e="bonjour5";
$f="bonjour6";

13
Matière : Technologies & Niveau : GLSI2 & BIGDATA2
Programmation WEB & IOT_SEM
Enseignant : Dr Riadh BOUSLIMI AU : 2021/2022 – Semestre 2

Atelier 3 : Les structures conditionnelles et les boucles

Objectifs :

▪ Connaitre la syntaxe des structures conditionnelles et les boucles en PHP,


▪ Savoir implémenter les structures de contrôle.

1. Qu'est-ce qu'une structure conditionnelle ?


Une structure conditionnelle est une expression qui permet de tester si une condition est vraie
ou non, en PHP les valeurs possibles pour une expression sont 0 ou 1.
Une structure conditionnelle peut être composée par un ensemble de conditions et qui sont
reliées par des expressions logiques.
2. Les structures conditionnelles
Il y’a trois structures conditionnelles : structure conditionnelle forme normale, alternative et à
choix.
2.1.L'instruction if
L'instruction if, on la retrouve dans n’importe quels langages de programmation. Elle permet
d'exécuter un ensemble d’instruction si une condition est vraie.
La syntaxe de cette expression est la suivante :
if (condition vraie) {
liste d'instructions
}
Remarques :
▪ La définition d’une condition doit être entre des parenthèses.
▪ Pour définir plusieurs conditions, les opérateurs logiques ET(&&) et OU (||) sont utilisés.
2.2.L'instruction if ... else
Cette instruction permet de traiter deux traitements en se basant sur une même condition. Si la
condition est vraie alors dans ce cas le premier traitement sera exécuté et sinon (else) le
traitement 2 sera exécuter.
La syntaxe de cette expression est la suivante :
if (condition réalisée) {
liste d'instructions
}else {

14
liste d’instructions non-réalisables.
}

15
Exemple

Où a=8 et b=3 :

<html>
<head>
<title>Les structures conditionnelles</title>
</head>
<body>
<?php
$a = 8;
$b = 3;
if ($a < $b)
{
echo "a est plus petit que b";
}
else
{
echo "a n'est pas plus petit que b";
}
?>
</body>
</html>

Figure 9 : Aperçu du résultat d'une opération de comparaison


2.3.L'instruction if ... elseif ... else
Il est parfois nécessaire de tester plusieurs conditions de façon exclusive, c'est-à-dire que sur
toutes les conditions une seule sera réalisée ...
L'expression if ... elseif ... else permet d'enchaîner une série d'instructions et évite d'avoir à
imbriquer des instructions if.
La syntaxe de cette expression est la suivante :

if (condition 1) {
liste d'instructions associée à la condition 1
}
else if (condition 2 {
liste d'instructions associée à la condition 2
}
...
else {
série d'instructions
}

16
2.4.L'instruction switch
L'instruction switch est très utiliser dans le cas ou une variable de type scalaire prendra
plusieurs valeurs. L’instruction switch ne remplacera pas le structure if impliquée mais elle
évite de compliquer l’écriture. Sa syntaxe est la suivante :
switch (Variable) {
case Valeur1:
Liste d'instructions
break;
case Valeur1:
Liste d'instructions
break;
case Valeurs...:
Liste d'instructions
break;
default:
Liste d'instructions
}
Chaque « case » sera traitée à part et le mot clé « break » sert à quitter l’instruction switch
pour ne pas passer à exécuter les autres instructions. Le bloc « default » sera exécuté dont
le cas où aucune valeur n’a été traitée dans le bloc « case ».

ATTENTION : Le mot clé « break » est obligatoire dans chaque « case » sauf dans le bloc
« default ».

3. Les boucles
Les boucles permettent d’exécuter plusieurs fois un ensemble d'instructions (appelé aussi
itération) jusqu'à ce qu'une condition ne soit plus réalisée.
Une boucle comporte un compteur qui permet d’incrémenter ou décrémenter jusqu’à l’arrêter
de la boucle lorsque le compteur dépasse une certaine valeur.
[Link] boucle for

L'instruction for permet d'exécuter plusieurs fois la même série d'instructions à un nombre
connu à l’avance. La syntaxe de la boucle for est la suivante :

for (initialisation; condition de continuité; incrémentation) {


ensemble d'instructions
}

17
Exemple

<html>
<head>
<title>Les boucles – La boucle for</title>
</head>
<body>
<?php
for ($i=1; $i<6; $i++) {
echo "$i<br>";
}
?>
</body>
</html>

Figure 10 : Aperçu d'exécution d'affichage d'une valeur 5 fois


Cette boucle affiche 5 fois la valeur de $i, c'est-à-dire 1, 2, 3, 4, 5.
3.2.L'instruction while

L'instruction while permet d’exécuter plusieurs fois un ensemble d'instructions dont le


nombre n’est pas connu à l’avance et qui dépend d’une condition. La syntaxe de cette boucle
est la suivante :

while (condition de continuité) {


ensemble d'instructions
}

ATTENTION : La sortie de la boucle dépend de la condition sinon la boucle risque d’être


infinie et ce qui provoquera un plantage du serveur !

▪ Saut inconditionnel
Dans certains cas, on peut sauter de la boucle en utilisant le mot clé « continue; ». On
l'associe généralement à une structure conditionnelle.
Exemple:
On souhaite afficher les valeurs que va prendre une variable $x allant de 1 à 10. Si la valeur
attend la valeur 7 il y aura une erreur. A l’aide de l'instruction « continue » pourra être
utilisée pour traiter cette valeur à part puis de continuer la boucle.

18
<html>
<head>
<title>Les boucles – La boucle while</title>
</head>
<body>
<?php
$x=1;
while ($x<=10) {
if ($x == 7) {
echo "division par 0 <br>";
$x++;
continue;
}
$a = 1/($x-7);
echo "$a<br>";
$x++;
}
?>
</body>
</html>

Figure 11 : Aperçu de l'execution de la boucle avec l'instruction "continue"


▪ Arrêt inconditionnel
Inversement de « continue », on peut quitter la boucle à tout moment. L'instruction « break »
permet d'arrêter une boucle (for ou while).

19
Exemple:
<html>
<head>
<title>Les boucles – L’instruction Break</title>
</head>
<body>
<?php
for ($x=1; $x<=10; $x++)
{
$a = $x-7;
if ($a == 0)
{
echo "division par 0 - arrêt !";
break;
}
echo "1/$a<br>";
}
?>
</body>
</html>

Figure 12 : Aperçu de l'exécution de la boucle en utilisant "break"

▪ Arrêt d'exécution du script


Dans ce cas l’instruction « exit », permet de mettre fin à l’exécution, et ce qui signifie
que le serveur n'envoie plus d'informations au navigateur.
3.3.L'instruction do..while

L'instruction do..while permet d’exécuter au moins une fois une série d'instructions. La
syntaxe de cette expression est la suivante :

do{
liste d'instructions
} while (condition réalisée) ;

20
4. Exercices d’application
Exercice 1
Question 1 : Écrire la page « [Link] » pour afficher le même résultat avec la variable PHP
de type tableau :
$tab=array("bonjour1","bonjour2","bonjour3","bonjour4","bonjour5","bonjour6");
en utilisant les variables $tab[0] et $tab[1]...
echo "<tr><td>$tab[0]</td><td>$tab[1]</td></tr>";
echo "<tr><td>$tab[2]</td><td>$tab[3]</td></tr>";
echo "<tr><td>$tab[4]</td><td>$tab[5]</td></tr>";

for ($i=0; $i<3; $i++){


echo "<tr><td>{$tab[2*$i]}</td><td>{$tab[2*$i+1]}</td></tr>";
}

for ($i=0; $i<6; $i++){


if ($i == 0 || $i==2 || $i==4)
echo "<tr>";

echo "<td>$tab[$i]</td>";

if ($i == 1 || $i==3 || $i==5)


echo "</tr>";
}

Question 2 : à Tester (et à comprendre) dans un programme "[Link]" :


Question 3 : Écrire la page « [Link] » en définissant la variable de type tableau et en
l'affichant avec la fonction standard fournie avec php « printf ».

21
Matière : Technologies & Niveau : GLSI2 & BIGDATA2
Programmation WEB & IOT_SEM
Enseignant : Dr Riadh BOUSLIMI AU : 2021/2022 – Semestre 2

Atelier 4 : Manipulation des formulaires

Objectifs :

▪ Savoir envoyer et récupérer des données depuis un formulaire ou une adresse URL,
▪ Connaitre comment récupérer les données provenant les composants : CHECKBOX,
RADIO, SELECT.

1. Récupération des informations


Pour récupérer des données à partir d’une page Php, deux solutions sont possibles :
✓ Récupérer des informations saisies (ou définies) à travers les objets graphiques des
formulaires : on utilise l’une des deux syntaxes suivantes $_GET["nomobjet"] ou
$_POST["nomobjet"], dépendamment de la valeur de la propriété METHOD de la
balise FORM (respectivement GET ou POST).

ATTENTION : nomobjet désigne la valeur de la propriété NAME de l’objet


duquel on veut récupérer des données.

✓ Récupérer des informations envoyées en paramètre à un fichier Php.


L’envoi des données se fait à travers la syntaxe :
[Link]
La récupération (au niveau du fichier [Link]) se fait grâce à la syntaxe :

$variable1=$_GET[ʺvar1ʺ] …$variableN=$_GET[ʺvarNʺ]

L’affichage se fait grâce à l’instruction echo qui permet d’afficher :


✓ Des chaînes de caractères
Exemple : $x=2 ;
echo(ʺla valeur de x est : $xʺ);
✓ Des chaînes de caractères, des variables et des balises HTML
Exemple : $x=2 ;
echo(ʺ<B>la valeur de x est : </B>$xʺ);

22
ATTENTION : il est possible d’afficher des informations à travers les objets
graphiques d’un formulaire.

Exemple :
<INPUT TYPE=ʺTEXTʺ NAME=ʺNOMʺ VALUE=<?php echo(ʺ$nomʺ);?>>
2. La méthode POST
On souhaite créer la page web [Link] qui permettra à un étudiant de s’inscrire au
niveau de l’ISET de Jendouba. La page contient un formulaire contenant trois champs de
saisie et deux boutons(figure n°1). Lorsque l’utilisateur clique sur le bouton valider les
données sont envoyées avec la méthode (method=ʺPOSTʺ) vers l’url lui-même
[Link] et le même fichier affichera un message récapitulatif contenant les différentes
informations saisies par l’utilisateur (figure n°2).
Utiliser la fonction isset qui permet de tester si une variable est attribuée par une valeur.

23
Figure n°1

Figure n°2

3. La méthode GET
On souhaite modifier le fichier [Link] en changeant la méthode POST par GET. Quel
sera le résultat ?

24
4. Exercices d’application
Exercice n°1
Question 1 : Écrire une page HTML « [Link] » qui affiche cela :

Question 2 : Écrire une page PHP « [Link] » qui affiche toutes les valeurs qui ont été saisies
dans la page précédente.
Vous utiliserez les variables $_GET["email"], $_GET["comm"]... toutes les autres, même la
valeur du bouton sera affichée.
Exercice n°2
Question 1 : Écrire une page HTML « [Link] » qui affiche cela :

25
Question 2 : Écrire une page PHP « [Link] » qui affiche le nom et l'age saisie
précédemment.
Question 3 : Modifier la page PHP « [Link] » qui affiche le nom et l'age saisie
précédemment pour écrire :

Bonjour M. « Bouslimi », vous avez plus de 18 ans.


Ou bien :
Bonjour M. « Bouslimi », vous avez moins de 18 ans.

En fonction de l'age saisi (si le nom est « Bouslimi »).


Exercice n°3
Question : Écrire une page HTML « [Link] » qui demande la saisie d’un texte (name= «
nom ») et deux nombres (name= « nb1 » et « nb2 »).
Écrire la page PHP « [Link] » qui affiche :

le nombre le plus grand est 8, et le nombre le plus petit est 5.


ou bien
Vous n'avez pas saisit deux nombres : recommencez svp
(vous utiliserez la fonction php « is_int » pour tester si la variable est un nombre entier)
ou bien
les deux nombres ont la même valeur.

Exercice n°4

Question 1 : Écrire une page HTML « [Link] » qui demande la saisie d’un texte (name=
« nom »).
Écrire la page PHP « [Link] » qui affiche :
Si le nom est « bouslimi », écrire :
Bravo M. Bouslimi, vous avez gagné.
Sinon, écrire :
Désolé M. ----, vous avez perdu.

Question 2 : Modifier la page précédente pour que le texte saisi soit juste même s’il est saisi
avec des majuscules (BoUsLiMi ou Bouslimi ou BOUSLIMI…).

Remarque : vous utiliserez une fonction PHP str… qui transforme une chaîne de caractères en
minuscule.

26
Matière : Technologies & Niveau : GLSI2 & BIGDATA2
Programmation WEB & IOT_SEM
Enseignant : Dr Riadh BOUSLIMI AU : 2021/2022 – Semestre 2

Atelier 5 : Base de données MySQL

Objectifs :

▪ Savoir construire et manipuler une base de données MySQL,


▪ Connaitre les étapes d’exploitation des données d’une base de données MySQL.

1. SGBD MySQL
MySQL est un système de base de données gratuit et rapide, fonctionnant (entre autres)
sous Linux. Etant donné que la majorité des serveurs Web (dont le fameux serveur Apache)
fonctionnent sous Linux, MySQL est de ce fait le système de base de données le plus utilisé
avec PHP.
2. Les formats des données en MySQL
▪ Les données numériques :
Les données numériques peuvent être signées (signed) ou non signées (unsigned).
Type de Description
champ
TINYINT Valeur entière comprise entre -128 et 127
SMALLINT Valeur entière comprise entre -32 768 et 32 0767
MEDIUMINT Valeur entière comprise entre -8 388 608 et 8 388 607
INT Valeur entière comprise entre 2 147 483 648 et 2 147 483 647
BIGINT Valeur entière comprise entre -9 233 372 036 854 et
9 223 372 036 854 775 807
FLOAT Valeur réelle comprise entre -3.402823466E+38 à -
1.175494351E-38 .
DOUBLE Valeur réelle comprise entre -1.7976931348623157E+308 à -
2.2250738585072014E-308
DECIMAL Un nombre à virgule flottante.

▪ Les chaînes de caractères :

Type de données Description


CHAR(x) Chaîne de caractères de longueur fixe où x (compris entre 1 et 256)
est le nombre de caractères.
VARCHAR(x) Chaîne de caractères de longueur variable où x (compris entre 1 et
256) est le nombre de caractères.
TINYTEXT Chaîne de 256 caractères maximum.
TEXT Chaîne de 65 585 caractères maximum.
MEDIUMTEXT Chaîne de 16 777 215 caractères maximum.
27
LONGTEXT Chaîne de 4 294 967 295 caractères maximum.

3. PhpMyAdmin
PhpMyAdmin représente un site Web (en local) permettant de gérer le SGBD MySQL.
PhpMyAdmin permet de :
▪ créer et supprimer des bases de données.
▪ créer, modifier et supprimer des tables.
▪ éditer et ajouter des champs.
▪ insérer des données.
▪ gérer de multiples utilisateurs avec des permissions différentes.

Figure 13 : Interface de PhpMyAdmin


4. Créer une base de données
▪ Créer une base de données avec PhpMyAdmin
Pour créer une base de données MySQL, on utilisera l’interface ci-dessous :

Figure 14 : Interface de création d'une base de données


Dans la base de données « base », vous allez créer la table « liste » qui comportera
les trois champs suivants :
- un index id, un entier qui servira de clé primaire.
- un champ nom qui pourra contenir une chaîne de 50 caractères.
- un champ email qui pourra contenir une chaîne de 70 caractères.
Parmi les multiples possibilités offertes par PhpMyAdmin, retenons celle qui
permet d'encoder les requêtes SQL.

28
29
CREATE TABLE liste (
id int NOT NULL auto_increment PRIMARY KEY,
nom varchar(50) NOT NULL,
email varchar(70) NOT NULL
)

Figure 15 : création d'une table "liste" en mode SQL


Ou tout simplement :

Figure 16 : création d'une table "liste" en mode assistant

Figure 17 : Ajout des colonnes de la table "liste"


▪ Insérons un enregistrement de données :
L’insertion peut être effectuée en utilisant une requête SQL comme la suivante :

INSERT INTO liste (nom, email) VALUES ('BOUSLIMI Riadh',


'[Link]@[Link]');

Où tout simplement :

Figure 18 : Comment insérer des valeurs en mode assistant


30
5. Manipulation d’une base de données depuis Php
L’utilisation de MySQL avec Php s’effectue en quatre étapes :
▪ Connexion au serveur de données ;
▪ Sélection de la base de données ;
▪ Exécution de la requête ;
▪ Exploitation des résultats de la requête.
Vous pouvez accéder directement aux bases de données MySQL par le biais des scripts PHP.
Cela vous permet de lire et d'écrire des données dans votre base de données, directement à
partir de votre site Web.

1. Connectez-vous à votre serveur MySQL à l’aide de l’instruction mysqli_connect. Par


exemple :

$con = mysqli_connect('HOSTNAME','USERNAME','PASSWORD');
Pour plus d’informations sur mysqli_connect,

'HOSTNAME' prend la valeur ‘localhost’ ou ‘[Link]’

Choisissez la base de données à laquelle vous voulez accéder à l’aide


de mysqli_select_db. Par exemple :

mysqli_select_db('DATABASENAME', $con)
Où 'DATABASENAME' est le nom de votre base de données. Cette information s'affiche
également sur la page des détails de votre base de données.

Après avoir établi la connexion et sélectionné la base de données, vous pouvez effectuer une
demande à l'aide de PHP.
Afin de vous aider à créer votre propre chaîne de connexion, nous avons inclus un exemple
ci-dessous.

Exemple de chaîne de connexion PHP MySQL


Cette chaîne de connexion apparaîtra dans une base de données (your_dbusername, trouvez
une table spécifique (your_tablename), puis répertoriez toutes les valeurs de cette table pour
un champ (une colonne) que vous spécifiez (your_field).

?php
//Exemple de syntaxe de connexion à la base de données pour PHP et
MySQL.

//Se connecter à la base de données

$hostname="your_hostname";
$username="your_dbusername";
$password="your_dbpassword";
$dbname="your_dbusername";
$usertable="your_tablename";
$yourfield = "your_field";

mysqli_connect($hostname,$username, $password) or
die ("html>script language='JavaScript'>
alert('Impossible de se connecter à la base de
données ! Réessayez plus tard.'),[Link](-1)/script>/html>");
mysqli_select_db($dbname);

31
// Vérifier si des enregistrements existent

$query = "SELECT * FROM $usertable";

$result = mysqli_query($query);

if($result){
while($row = mysqli_fetch_array($result)){
$name = $row["$yourfield"];
echo "Name: ".$name."br/>";
}
}
?>

6. Exercice d’application

[Link]éation de la base de données


On dispose de la classe étudiant suivante :
Etudiant
NCIN : VARCHAR(8)
NOM : VARCHAR(25)
PRENOM : VARCHAR(25)
SEXE :VARCHAR(1)

1. Lancez XAMPP ;
2. Créez la base de données MySQL dont son nom est « TPMySQL » ;
3. Créez la table Etudiant ;
4. Insérez dans la table Etudiant les champs suivants :

NCIN NOM PRENOM SEXE


07899039 KHAMIRI GHAYA F
08072024 NAIMI ATEF H
09450267 TOUIHRI ALAA H
07896864 HAMDI BOUTHEINA F
07883548 ECHI HAMDI H
07881322 SOLTANI MAHA F
07897135 AYEDI MARWA F
07895883 SAIDI SAMEH H
07885840 TOUIHRI EMNA F
07886810 OUHIIBI NAWEL F

[Link] d’un enregistrement


1. Créez un répertoire de travail « tpphpmysql » dans le chemin suivant :
C:\XAMPP\htdocs\

2. Lancez l’éditeur de texte « Bloc-notes » ;


3. Créer le fichier « [Link] » qui permet de visualiser un formulaire de
saisie pour l’ajout d’un nouveau étudiant. L’apparence de ce formulaire doit ressembler
à la figure n°1.

32
4. Lorsque l’utilisateur clique sur le bouton « Valider », la page est de nouveau appelée
afin d’insérer les nouvelles données sur le nouveau étudiant dans la base de données
(figure n°2). Le bouton « Annuler » permet d’initialiser le formulaire.
Programmer le lien hypertexte « Liste des étudiants » qui permet d’accéder à la page
« [Link] ».
NB : Avant d’ajouter un étudiant, il faut d’abord s’assurer que l’utilisateur à bien saisie
les données sur l’étudiant, ensuite on test l’existence de l’étudiant dans la base de
données. S’il est existant alors vous devez le signaler à l’utilisateur à travers un message
(figure n°3).

Figure n°1

Figure n°2

33
Figure n°3

[Link] des enregistrements


1. Lancez l’éditeur de texte « Bloc-notes » ;
2. Créez le fichier « [Link] » qui permet d’afficher la liste des étudiants par
sexe et ordonnée par nom et prénom selon l’ordre croissant. Cette liste doit être sous la
forme d’un tableau de 5 colonnes.
NB : La dernière colonne de ce tableau doit contenir 2 liens hypertextuels « modifier »
et « supprimer », qui permettent d’appeler respectivement les fichiers
« modif_Etudiant.php » et « suppr_Etudiant.php » qui effectuent les traitements
correspondants à partir de la référence du NCIN qui doit être passée en
paramètre.(figure n°4).

34
Figure n°4

35
[Link] d’un enregistrement
1. Lancez l’éditeur de texte « Bloc-notes » ;
2. Créez le fichier « modif_Etudiant.php » qui permet de modifier un étudiant.
Lorsque l’utilisateur clique sur le lien hypertexte « Modifier » (figure n°5) dans la page
« [Link] » la page « modif_Etudiant.php » apparaîtra avec un formulaire qui
contient les renseignement sur l’étudiant en question (figure n°6) .
Lorsque l’utilisateur clique sur le bouton « valider » la figure n°7 apparaîtra.

Figure n°5

Figure n°6

Figure n°7

36
[Link] d’un enregistrement
1. Lancez l’éditeur de texte « Bloc-notes » ;
2. Créez le fichier « suppr_Etudiant.php » qui permet de modifier un étudiant.
Lorsque l’utilisateur clique sur le lien hypertexte « Supprimer » (figure n°8) dans la page
« [Link] » la page « suppr_Etudiant.php » apparaîtra avec un message pour
indiquer que la suppression a été effectué avec succès (figure n°9) .

Figure n°8

Figure n°9

37
Correction

1 <!--
2 fichier : [Link]
3 Auteur : Riadh BOUSLIMI
4 Matière : Technologies & Programmation WEB
5 -->
6 <html>
7 <head>
8 <title>Saisie d'un nouveau étudiant</title>
9 </head>
10 <body>
11 <?php
12 if (!empty($_POST['ncin']) AND !empty($_POST['nom'])
13 AND !empty($_POST['prenom'])) {
14 //connexion
15 mysqli_connect("localhost","root","");
16 mysqli_select_db("tpmysql");
17 //test d'existance de l'étudiant
18 $requete1="select * from etudiant where NCIN='".$_POST['ncin']."'";
19 $resultat=mysqli_query($requete1);
20 if ($enreg=mysqli_fetch_array($resultat)){
21 //l'étudiant est déjà existant
22 ?>
23 <div align="center">
24 <br>L'étudiant <b><?php echo($_POST['nom']." ".$_POST['prenom']);?></b>
25 <br>est déjà existant!!!
26 <br><br><a href="[Link]">Retour</a>
27 </div>
28 <?php
29 }else {
30 //insertion du nouveau étudiant
31 $requete2="insert into etudiant
32 values('".$_POST['ncin']."','".$_POST['nom']."',
33 '".$_POST['prenom']."','".$_POST['sexe']."')";
34 mysqli_query($requete2);
35 ?>
36 <div align="center">
37 <br>Merci, l'étudiant
38 <b><?php echo($_POST['nom']." ".$_POST['prenom']);?></b>
39 <br>est bien été enregisré
40 <br><br><a href="[Link]">Retour</a>
41 </div>
42 <?php
43 }//fin du test d'existance
44 }else{?>
45 <div align="center">
46 <h3>Saisie d'un nouveau étudiant</h3>
47 <hr size="2" width="50%">
48 <!--Ici c'est le Formulaire-->
49 <form name="SaisieEtudiant" method="POST" action="[Link]">
50 <table border="1">
51 <tr>
52 <td width="35%">N°.C.I.N :</td>
53 <td width="65%"><input type="text" name="ncin"
54 value="" size="8" maxlength="8"></td>
55 </tr>
56 <tr>
57 <td width="35%">Nom :</td>
58 <td width="65%"><input type="text" name="nom" value=""
59 size="25" maxlength="25"></td>
60 </tr>
61

38
62 <tr>
63 <td width="35%">Prénom :</td>
64 <td width="65%"><input type="text" name="prenom"
65 value="" size="25" maxlength="25"></td>
66 </tr>
67 <tr>
68 <td width="35%">Sexe :</td>
69 <td width="65%">
70 <select name="sexe">
71 <option value="H">Homme</option>
72 <option value="F">Femme</option>
73 </select>
74 </td>
75 </tr>
76 </table>
77 <br>
78 <input type="submit" value="Valider">&nbsp;&nbsp;
79 <input type="reset" value="Annuler">
80 </form>
81 <a href="[Link]">Liste des étudiants</a>
82 </div>
83 <?php
84 }
85 ?>
86 </body>
87 </html>

1 <!--
2 fichier : [Link]
3 Auteur : Riadh BOUSLIMI
4 Matière : Technologies & Programmation WEB
5 -->
6 <html>
7 <head>
8 <title>Liste des étudiants</title>
9 </head>
10 <body>
11 <div align="Left">
12 <h3>Liste des étudiants</h3>
13 <hr width="50%" size="2">
14 </div>
15 <?php
16 //connexion
17 mysqli_connect("localhost","root","");
18 mysqli_select_db("tpmysql");
19 ?>
20 <?php
21 //Liste des étudiants dont le sexe est Homme
22 $requete_H="select * from etudiant where SEXE='H' order by NOM,PRENOM";
23 $resultat_H=mysqli_query($requete_H);
24 if (mysqli_num_rows($resultat_H)<>0){
25 ?>
26 <div align="Left">
27 <br>
28 <h4>Sexe : <b>Homme</b></h4>
29 <table border="1" cellpaccing="2" cellpadding="0">
30 <tr>
31 <td><b>N° C.I.N</b></td>
32 <td><b>Nom</b></td>
33 <td><b>Prénom</b></td>
34 <td><b>Sexe</b></td>
35 <td><b>Modif/Suppr</b></td>
36 </tr>

39
37 <?php
38 while ($enreg_H=mysqli_fetch_array($resultat_H)){
39 ?>
40 <tr>
41 <td><?php echo $enreg_H["NCIN"];?></td>
42 <td><?php echo $enreg_H["NOM"];?></td>
43 <td><?php echo $enreg_H["PRENOM"];?></td>
44 <td><?php echo $enreg_H["SEXE"];?></td>
45 <td>
46 <a href="modif_Etudiant.php?reference=
47 <?php echo $enreg_H["NCIN"];?>
48 ">Modifier</a>
49 <a href="suppr_Etudiant.php?reference=
50 <?php echo $enreg_H["NCIN"];?>
51 ">Supprimer</a>
52 </td>
53 </tr>
54 <?php
55 }
56 ?>
57 </table>
58 </div>
59 <?php
60 }else{
61 ?>
62 <div align="Left">
63 <h4>Sexe : <b>Homme</b></h4>
64 <hr width="50%" size="2">
65 <b> Pour le moment, il n'a aucun étudiant enregistré!!!</b>
66 <hr width="50%" size="2">
67 </div>
68 <?php
69 }
70 ?>
71 <?php
72 //Liste des étudiants dont le sexe est Femme
73 $requete_F="select * from etudiant where SEXE='F' order by NOM,PRENOM";
74 $resultat_F=mysqli_query($requete_F);
75 if (mysqli_num_rows($resultat_F)<>0){
76 ?>
77 <div align="Left">
78 <br>
79 <h4>Sexe : <b>Femme</b></h4>
80 <table border="1" cellpaccing="2" cellpadding="0">
81 <tr>
82 <td><b>N° C.I.N</b></td>
83 <td><b>Nom</b></td>
84 <td><b>Prénom</b></td>
85 <td><b>Sexe</b></td>
86 <td><b>Modif/Suppr</b></td>
87 </tr>
88 <?php
89 while ($enreg_F=mysqli_fetch_array($resultat_F)){
90 ?>
91 <tr>
92 <td><?php echo $enreg_F["NCIN"];?></td>
93 <td><?php echo $enreg_F["NOM"];?></td>
94 <td><?php echo $enreg_F["PRENOM"];?></td>
95 <td><?php echo $enreg_F["SEXE"];?></td>
96 <td>
97 <a href="modif_Etudiant.php?reference=
98 <?php echo $enreg_F["NCIN"];?>
99 ">Modifier</a>
100 <a href="suppr_Etudiant.php?reference=
101 <?php echo $enreg_F["NCIN"];?>
102 ">Supprimer</a>

40
103 </td>
104 </tr>
105 <?php
106 }
107 ?>
108 </table>
109 </div>
110 <?php
111 }else{
112 ?>
113 <div align="Left">
114 <h4>Sexe : <b>Femme</b></h4>
115 <hr width="50%" size="2">
116 <b> Pour le moment, il n'a aucune étudiante enregistrée!!!</b>
117 <hr width="50%" size="2">
118 </div>
119 <?php
120 }
121 ?>
122 </body>
123 </html>

1 <!--
2 fichier : modif_Etudiant.php
3 Auteur : Riadh BOUSLIMI
4 Matière : Technologies & Programmation WEB
5 -->
6 <html>
7 <head>
8 <title>Modification d'un étudiant</title>
9 </head>
10 <body>
11 <?php
12 //connexion
13 mysqli_connect("localhost","root","");
14 mysqli_select_db("tpmysql");
15 if (empty($_POST['ncin']) AND empty($_POST['nom'])
16 AND empty($_POST['prenom'])) {
17 //Info. sur l'étudiant
18 $requete1="select * from etudiant where NCIN='".$_GET['reference']."'";
19 $resultat=mysqli_query($requete1);
20 if ($enreg=mysqli_fetch_array($resultat)){
21 //Remplissage des renseignements sur l'étudiant en question
22 ?>
23 <div align="center">
24 <h3>Modifier un étudiant</h3>
25 <hr size="2" width="50%">
26 <form name="ModifierEtudiant" method="POST" action="modif_Etudiant.php">
27 <table border="1">
28 <tr>
29 <td width="35%">Nom :</td>
30 <td width="65%"><input type="text" name="nom"
31 value="<?php echo $enreg['NOM'];?>"
32 size="25" maxlength="25">
33 </td>
34 </tr>
35 <tr>
36 <td width="35%">Prénom :</td>
37 <td width="65%"><input type="text" name="prenom"
38 value="<?php echo $enreg['PRENOM'];?>"
39 size="25" maxlength="25">
40 </td>
41 </tr>
42 <tr>
43 <td width="35%">Sexe :</td>
44 <td width="65%">

41
45 <select name="sexe">
46 <?php if (strcmp($enreg['SEXE'],"H")==0) {?>
47 <option value="H" selected>Homme</option>
48 <?php }else{?>
49 <option value="H">Homme</option>
50 <?php }?>
51 <?php if (strcmp($enreg['SEXE'],"F")==0) {?>
52 <option value="F" selected>Femme</option>
53 <?php }else{?>
54 <option value="F">Femme</option>
55 <?php }?>
56 </select>
57 </td>
58 </tr>
59 </table>
60 <input type="hidden" name="ncin" value="<?php echo $enreg['NCIN'];?>">
61 <br>
62 <input type="submit" value="Valider">&nbsp;&nbsp;
63 <input type="reset" value="Annuler">
64 </form>
65 <a href="[Link]">Liste des étudiants</a>
66 </div>
67 <?php
68 } ?>
69 <?php
70 }else {
71 //modification de l'étudiant
72 $requete2="Update etudiant set NOM='".$_POST['nom'].
73 "',PRENOM='".$_POST['prenom'].
74 "',SEXE='".$_POST['sexe']."'
75 where NCIN='".$_POST['ncin']."'";
76 mysqli_query($requete2);
77 ?>
78 <div align="center">
79 <br>Merci, l'étudiant <b><?php echo($_POST['nom']." ".$_POST['prenom']);?></b>
80 <br>est bien été enregisré
81 <br><br><a href="[Link]">Retour</a>
82 </div>
83 <?php
84 }
85 ?>
86 </body>
87 </html>

1 <!--
2 fichier : suppr_Etudiant.php
3 Auteur : Riadh BOUSLIMI
4 Matière : Technologies & Programmation WEB
5 -->
6 <html>
7 <head>
8 <title>Suppression d'un étudiant</title>
9 </head>
10 <body>
11 <?php
12 //connexion
13 mysqli_connect("localhost","root","");
14 mysqli_select_db("tpmysql");
15 //suppression de l'étudiant
16 $requete="delete from etudiant where NCIN='".$_GET['reference']."'";
17 mysqli_query($requete);
18 ?>
19 <div align="center">
20 <br>Merci, l'étudiant au n° C.I.N <b><?php echo($_GET['reference']);?></b>
21 <br>est bien été supprimé
22 <br><br><a href="[Link]">Retour</a>

42
23 </div>
24 </body>
25 </html>

43
Exemples de PHP & MySQL

//[Link]
<?php
$nomserveur = "localhost";
$utilisateur = "root";
$motdepasse = "";
$bd="bigdata2";
// Création d'une connexion
$conn = new mysqli($nomserveur, $utilisateur,
$motdepasse,$bd);

// vérification de la connexion
if ($conn->connect_error) {
die("Echec de connexion: " . $conn->connect_error);
}
echo "Connexion avec succès";
?>

[Link]
<html>
<head>
<title>Etudiant</title>
</head>
<body>
<form method="POST" action="[Link]">
<input type="number" size="10"
name="idetud"
placeholder="Votre identifiant"><br>
<input type="text" size="10"
name="nom"
placeholder="Votre nom"><br>
<input type="text" size="10"
name="prenom"
placeholder="Votre prenom"><br>
<input type="submit" value="Enregistrer">
</form>
</body>
</html>

[Link]
<?php
include '[Link]';
$sql = "INSERT INTO `etudiant`
(`id`, `nom`, `prenom`)
VALUES ('2', 'Flen', 'Foulen');";

if ($conn->query($sql) == TRUE) {
echo "Ajout avec succès";
} else {
echo "Erreur: " . $sql . "<br>" . $conn->error;
}

$conn->close();
44
?>

[Link]
<?php
include '[Link]';
//récupération des paramètres du formulaire
$id_p = $_POST["id"];
$nom_p = $_POST["nom"];
$prenom_p = $_POST["prenom"];

// préparation de la requête
$stmt = $conn->prepare("INSERT INTO etudiant
(id, nom, prenom)
VALUES (?, ?, ?)");
$stmt->bind_param("iss", $id, $nom, $prenom);

//i - integer
//d - double
//s - string
//b - BLOB
//iss signifie :integer, string, string

// injection des paramètres manquants et exécution


$id = $id_p;
$nom = $nom_p;
$prenom = $prenom_p;
$stmt->execute();

echo "Ajout d'enregistrement avec succès!";

$stmt->close();
$conn->close();
?>

[Link]
<?php
//récupération
$idetud = $_POST["idetud"];
$nom = $_POST["nom"];
$prenom = $_POST["prenom"];
//connexion avec la base
$cx = mysqli_connect("localhost","root","","bigdata");
//requete
$sql="INSERT INTO `etudiant` (`idetud`, `nom`, `prenom`)
VALUES ('$idetud', '$nom', '$prenom');";
$n = mysqli_query($cx,$sql);
if($n==0)
echo("Aucun ajout");
else
echo("Ajout avec succès!");

?>

45
//[Link]
<?php
include '[Link]';
$sql = "SELECT * FROM `etudiant`;";
$resultat = $conn->query($sql);

if ($resultat->num_rows > 0) {
// affichage pour chaque ligne
while($row = $resultat->fetch_assoc()) {
echo "<br>id: " . $row["id"]. " - Nom: " .
$row["nom"]. " " . $row["prenom"]. "<br>";
}
} else {
echo "0 resultats";
}
$conn->close();
?>

46
Matière : Technologies & Niveau : GLSI2 & BIGDATA2
Programmation WEB & IOT_SEM
Enseignant : Dr Riadh BOUSLIMI AU : 2021/2022 – Semestre 2

Atelier 6 : Les sessions

Objectifs :

▪ connaître et utiliser les mécanismes de session PHP,


▪ d’utiliser diverses propriétés objet.

1. Principe des sessions en PHP

Le mécanisme de sessions sous PHP est un moyen de conserver des valeurs entre plusieurs
utilisateurs.

Chaque internaute accédant à votre page web se voit assigner un "identifiant de session".
Il peut être stocké soit dans un cookie, soit propagé dans l’URL.

L’ouverture d’une session s’effectue à l’aide de la fonction session_start(). Dans un


fichier nommé « [Link] » on trouve l’instruction session.auto_start qui permet de lancer
l’ouverture d’une session automatiquement.

La récupération des données d’une session s’effectue à l’aide de du script $_SESSION.

Créer et tester les 2 pages suivantes :


[Link]

<?php
session_start();
echo '2. Restitution des données de session de la page 1';
echo $_SESSION['ordinateur']; // netbook-dell
echo $_SESSION['couleur']; // gris
echo $_SESSION['quantite']; // 3
echo '<a href="[Link]?' . strip_tags(SID) . '">page 1</a>';
?>

[Link]

<?php
// Session start doit être appelé avant tout autre instruction.

47
session_start();

// Ajout de données dans la session.


$_SESSION['ordinateur'] = 'netbook-dell';
$_SESSION['couleur'] = 'gris';
$_SESSION[quantite] = '3';

echo '1. Enregistrement des données en session<br />';


// On utilise ici SID pour la propagation de l'id de session,
// et la fonction strip_tag dans le but de contrer les attaques
XSS.
echo '<a href="[Link]?' . strip_tags(SID) . '">page 2</a>';
?>

2. Exercice d’application : authentification par session

Question 1 : Créez dans un premier temps une page ([Link]) qui est présenté comme
ci-dessous qui contient un formulaire de connexion qui postera vers la page
(traitement_connexion.php). Cette dernière testera l’identiter de l’utilisateur et elle ouvrera
une session pour l’utilisateur et affichera le menu principal ([Link]).

Question 2 : Créez une page ([Link]) qui mettra fin à la session de l’utilisateur.

48
Mini-Projet
Date Limite 15/05/2022
Espace de dépôt
Soit à représenter l’activité d’une bibliothèque disposant d’un ensemble de livres qu’elle met
à la disposition de ses abonnés.
On donne la base de données biblio implémentée sous le SGBD MySQL.

On souhaite créer une application web dynamique sécurisé qui permet de gérer :
▪ Les abonnées
▪ Les livres
▪ Les emprunts
Travail à faire
Créer les interfaces possibles pour que le bibliocataire pourra ajouter, modifier, supprimer et
consulter les abonnées, les livres et les emprunts.
NB : Le principe des sessions doit figurer dans le développement de l’application.

49
Bibliographie

[REF 1]Développer un site Web dynamique et interactif, Olivier Heurtel, ENI, 2004.
[REF 2]100 techniques pour dynamiser vos sites web, Jack-D Herrington, O'Reilly, 2006.
[REF 3]PHP et SQL, Cyril Pierre de Geyer, Guillaume Ponçon et Stéphane Mariel, Eyrolles, 2006.
[REF 4]PHP-MySQL, Van Lancker Luc, [Link] Date de
consultation : 02/09/2016.
[REF 5]Concevez votre site web avec PHP et MySQL,
[Link]
Date de consultation : 14/09/2016.

50

Vous aimerez peut-être aussi