Software">
[Go to site: main page, start]

0% ont trouvé ce document utile (0 vote)
6 vues68 pages

Développement d'Applications Web en PHP

Le document présente un cours sur le développement d'applications web, axé sur des technologies telles que HTML, CSS, JavaScript, AJAX et PHP. Il explique les concepts fondamentaux de PHP, y compris la syntaxe, les variables, les fonctions, et les tableaux, tout en fournissant des exemples pratiques. Le cours inclut également des exercices d'application pour renforcer l'apprentissage des étudiants.

Transféré par

zenmede14
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)
6 vues68 pages

Développement d'Applications Web en PHP

Le document présente un cours sur le développement d'applications web, axé sur des technologies telles que HTML, CSS, JavaScript, AJAX et PHP. Il explique les concepts fondamentaux de PHP, y compris la syntaxe, les variables, les fonctions, et les tableaux, tout en fournissant des exemples pratiques. Le cours inclut également des exercices d'application pour renforcer l'apprentissage des étudiants.

Transféré par

zenmede14
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

Licence : IAG

Module :Développement Web


Année Universitaire: 2024/2025

DEVELOPPEMENT
D’APPLICATION
WEB
Pr. Mohamed Rida FETHI
Plan
1
1
Introduction

2
2 HTML & CSS

3 JavaScript

4
4
AJAX

5
5
PHP

5 CMS PHP

2
PHP
Introduction HTML & CSC JavaScript Ajax CMS PHP
PHP

Les sites web «Statiques/Dynamiques»

Les sites web


«Statiques»

Les sites web


«Dynamiques»

4
Introduction HTML & CSC JavaScript Ajax CMS PHP
PHP

Introduction

PHP est un langage de script qui est principalement utilisé pour être exécuté par
un serveur HTTP.

PHP n'est pas un langage compilé, c'est un langage interprété par le serveur : le
serveur lit le code PHP, le transforme et génère la page HTML. Pour fonctionner,
il a donc besoin d'un serveur web. De ce fait une plateforme minimale de base
pour l’exécution d’un site web développé en PHP comprend :
1. l’interpréteur PHP (serveur PHP)
2. un serveur web (Apache, IIS, …)

5
Introduction HTML & CSC JavaScript Ajax CMS PHP
PHP

Introduction

Le code PHP n’est jamais visible sur la page finale consultée par le client. Ainsi en
éditant la source de la page on n’y trouvera que du code HTML. 6
Introduction HTML & CSC JavaScript Ajax CMS PHP
PHP
Premiers éléments du langage
<?PHP
echo 'bonjour';
?>
Ce qui affichera à l'écran ‘ bonjour ’.

Remarque importante :
Du moment que des parties de code PHP ont été intégrées dans une page HTML cette
dernière doit impérativement être renommée en extension .php

Les commentaires peuvent se présenter sous deux formes :


<? PHP
//ceci est
// un commentaire
/* ceci est un commentaire */
?>

7
Introduction HTML & CSC JavaScript Ajax CMS PHP
PHP

Exemple Simple

8
Introduction HTML & CSC JavaScript Ajax CMS PHP
PHP

Exemple Simple
<html>
<body>
<font size="2" face="Arial">Le texte en HTML</font> <br>
<? PHP
echo "<font size=\"2\" face=\"Arial\"> Le texte est en PHP.</font>";
?>
<br>
<font size="2" face="Arial">
< ? PHP
echo ‘Encore du texte en PHP’ ?></font>
</body>
</html>

Le résultat obtenu sera :


Le texte est en HTML
Le texte est en PHP
Encore du texte en PHP 9
Introduction HTML & CSC JavaScript Ajax CMS PHP
PHP

Variables, chaînes et concaténation


Une variable est définie sous la forme $variable_nom.
L’affectation d’une variable se fait de la manière suivante :
$variable_nom = variable_valeur.

<?php
$variable1 = 'Bonjour 1'; //Affectation d’une chaîne
$variable2 = ’’Bonjour 2’’; // Affectation d’une chaîne
$variable3 = 5; // Affectation d’un entier
$variable4 = 2 + (3 * 5); // Affectation d’un résultat d’opération
$variable5 = true; // Affectation Booléenne
?>
10
Introduction HTML & CSC JavaScript Ajax CMS PHP
PHP

Variables, chaînes et concaténation


L’affichage des variables combinées à des chaînes de caractères peut se faire de plusieurs manières en
utilisant les cotes simples (' ) ou les doubles cotes ('' ).

<?php
$nom = 'visiteur'; <?php
echo "bonjour $nom"; $nom = 'visiteur';
?> echo 'bonjour $nom'; // La variable $nom ne sera pas
Le résultat obtenu sera : interprétée
bonjour visiteur ?>

<?php Le résultat obtenu sera :


$nom = 'visiteur'; bonjour $nom
echo 'bonjour '.$nom;
?> Remarques :
Le résultat obtenu sera : Si vous utilisez les ' au lieu des " , la variable n'est
bonjour visiteur pas interprétée comme une variable mais comme une
chaîne de caractère.
Remarque : Il y'a un . entre le ' et la variable
$nom. Le point est un opérateur de
concaténation pour les chaînes de caractères.
11
Introduction HTML & CSC JavaScript Ajax CMS PHP
PHP

Exercices d’application
Exercice 1
Afficher dans une page la phrase « Ceci est une ligne crée uniquement en PHP ».
Afficher à la ligne suivante : « Ceci est la 2ème phrase crée avec PHP».
Créer un lien sur le site google ([Link]).

Exercice 2
Déclarer 2 variables : nom et prénom. Les initialiser avec les valeurs
« Votre_nom » et « Votre_prénom » et les afficher sur la page en utilisant 3 modes
syntaxiques différents :
- 2 commandes echo
- 1 commande echo avec 1 seule chaîne de caractère
- 1 commande echo avec le point de concaténation
12
Introduction HTML & CSC JavaScript Ajax CMS PHP
PHP
Opérateurs

13
Introduction HTML & CSC JavaScript Ajax CMS PHP
PHP
Opérateurs

14
Introduction HTML & CSC JavaScript Ajax CMS PHP
PHP

Structures de contrôle
➢ if
➢ if … else
➢ switch
➢ for
➢ while

Plus tard.
➢ foreach

$tableau = array (valeur0,valeur1,valeur2, …) ;


foreach ( $tableau as $valeur )
{
//Appeller ici la valeur courante par $valeur

}

15
Introduction HTML & CSC JavaScript Ajax CMS PHP
PHP
Fonctions
Les fonctions peuvent se distinguer en deux sous groupes :
1 -les fonctions qui effectuent un traitement (affichage par exemple)

Exemple
Syntaxe
<?php
function nom_de_la_fonction ($paramètres)
function afficher_nom_prenom ($nom,$prenom)
{
{
//traitement sur les paramètres effectué
echo 'Bonjour '.$nom ' '.$prenom ;
}
}
L’appel de la fonction se fait de la manière
afficher_nom_prenom ('rami','ahmed') ;
suivante :
echo ' <br>' ;
nom_de_la_fonction ($paramètres) ;
$nom1='rami' ;
$prenom1='ahmed' ;
afficher_nom_prenom ($nom1,$prenom1) ;
?>

16
Introduction HTML & CSC JavaScript Ajax CMS PHP
PHP
Fonctions
2 -les fonctions qui effectuent un traitement et retournent un résultat

Syntaxe
Exemple

<?php
function nom_de_la_fonction ($paramètres) function additionner ($variable1,$variable2)
{ {
//traitement sur les paramètres effectué $total = $variable1 + $variable2;
return ($resultat) ; return ($total) ;
} }
L’appel de la fonction se fait de la manière $resultat= additionner (1,2) ;
suivante : echo $resultat.' <br>' ;
$variable = nom_de_la_fonction ($paramètres) ; $var1=6 ;
$var2=7 ;
$resultat= additionner ($var1,$var2) ;
echo $resultat.' <br>' ;
?> 17
Introduction HTML & CSC JavaScript Ajax CMS PHP
PHP
Fonctions
Librairie de fonctions
Idéalement toutes les fonctions créées devraient être regroupées dans un même fichier créant ainsi une bibliothèque
de fonctions. Ce fichier sera appelé à l’intérieur des autres fichiers par le biais de la fonction include.

Exemple fichier [Link] Exemple fichier [Link]

<? php
<? php
//Ce fichier contiendra l’ensemble des fonctions que
include (’’[Link]’’) ;
vous développerez
$resultat= additionner (1,2) ;
function additionner ($variable1,$variable2)
echo $resultat.' <br>' ;
{
afficher_nom_prenom ('rami','ahmed') ;
$total = $variable1 + $variable2;
?>
return ($total) ;
}
function afficher_nom_prenom ($nom,$prenom)
{
echo 'Bonjour '.$nom. ' '.$prenom ;
}
?>
18
Introduction HTML & CSC JavaScript Ajax CMS PHP
PHP
Tableaux
Tableaux numérotés et tableaux associatifs

Il existe deux types de tableaux de variables sous PHP :


-Les tableaux à index numériques (tableaux numérotés) dans lesquels l’accès à la
valeur de la variable passe par un index numérique
ex : $tableau[0], $tableau[1], $tableau[2], …
-Les tableaux à index associatifs (ou tableaux associatifs) dans lesquels l’accès à
la valeur de la variable passe par un index nominatif
ex : $tableau[nom], $tableau[prénom], $tableau[adresse], …

19
Introduction HTML & CSC JavaScript Ajax CMS PHP
PHP
Tableaux
Syntaxe Exemple

//Tableau à index numéroté <?php


//Tableau à index numéroté
$tableau = array (valeur0,valeur1,valeur2, …)
$tableau1 = array ('château','maison','bateau') ;
;
echo "Contenu du tableau 1 :<br>";
//Accès à chacune des valeurs echo $tableau1[0]."<br>";
$tableau[0] donnera valeur0 echo $tableau1[1]."<br>";
$tableau[1] donnera valeur1 echo $tableau1[2]."<br>";

//Tableau à index associatif //Tableau à index associatif
$tableau = array (variable1 => valeur1, $tableau2 = array ('prenom' =>'ahmed','nom'
variable2 => valeur2, …) ; =>'rami','ville' =>‘Errachidia') ;
//Accès à chacune des valeurs echo "Contenu du tableau 2 :<br>";
$tableau[variable1] donnera valeur1 echo $tableau2['prenom']"<br>";
$tableau[variable2] donnera valeur2 echo $tableau2['nom']."<br>";
… echo $tableau2['ville']"<br>";
?>
20
Introduction HTML & CSC JavaScript Ajax CMS PHP
PHP
Tableaux
Parcours des tableaux
PHP intègre une structure de langage qui permet de parcourir un à un les élément d’un tableau : foreach().

Syntaxe
$tableau = array (valeur0,valeur1,valeur2, …) ;
foreach ( $tableau as $valeur )
{
//Appeller ici la valeur courante par $valeur

}

Exemple
<? <?
//Cas du tableau numéroté //Cas du tableau associatif
$tableau1 = array ('chateau','maison','bateau') ; $tableau2 = array ('prenom' =>'ahmed','nom'
foreach ( $tableau1 as $valeur ) =>'rami','ville' =>‘Errachidia') ;
{ foreach ( $tableau2 as $valeur )
echo $valeur."<br>"; {
} echo $valeur."<br>";
?> }
?> 21
Introduction HTML & CSC JavaScript Ajax CMS PHP
PHP
Tri de tableaux indicés
<?php
$a=array("a10", "b11", "b"=>"a9", "C12", "c12");
sort($a); // Les éléments seront triés du plus petit au plus grand.
print_r($a); /* 1 */

rsort($a);// Effectue un tri en ordre décroissant


print_r($a); /* 2 */
?>

22
Introduction HTML & CSC JavaScript Ajax CMS PHP
PHP

Tri de tableaux associatifs


<?
$a = array("a"=>"c", "b"=>"a", "c"=>"d");
ksort($a);
print_r($a); /* 1 */

krsort($a);
print_r($a); /* 2 */
?>

23
Introduction HTML & CSC JavaScript Ajax CMS PHP
PHP

Intersection et différence de tableaux


<?
$a=array(1,"a"=>2, 3=>3, "b"=>4, 4=>5);
$b=array("c"=>1, 1=>3, 4);
$c=array_intersect($a,$b);
print_r($c); /* 1 */

$c=array_diff($a,$b);
print_r($c); /* 2 */
?>

24
Introduction HTML & CSC JavaScript Ajax CMS PHP
PHP
Chaînes et tableaux
<?
$ch = "J'aime le PHP. Vive le web!";
$tab = explode(' ',$ch);
print_r($tab); /* 1 */

$tab = explode('.',$ch);
print_r($tab); /* 2 */

$tab = array("J'aime", "le", "PHP.");


$ch = implode(" ",$tab);
echo $ch."\n"; /* 3 */

$ch = implode("--",$tab);
echo $ch."\n"; /* 4 */
?>

25
Introduction HTML & CSC JavaScript Ajax CMS PHP
PHP

Fusion de tableaux
<?
$a = array("a" => "Pomme", "b" => "Banane");
$b = array("b" => "Orange", "c" => "Cerise");
$c=array_merge($a,$b);/* Rassemble les éléments d'un ou de plusieurs tableaux en ajoutant les
valeurs de l'un à la fin de l'autre. Le résultat est un tableau. */
print_r($c); /* 1 */

$c=array_merge_recursive($a,$b);/* rassemble les éléments de deux ou plusieurs tableaux


ensemble, en ajoutant les éléments de l'un à la suite des éléments du précédent.*/
print_r($c); /* 2 */
?>

1 2

26
Introduction HTML & CSC JavaScript Ajax CMS PHP
PHP

Autres fonctions utiles sur les tableaux


➢ La fonction array_unique($tab) supprime les valeurs en double dans le
tableau (une seule clé est conservée).

➢ La fonction $slice = array_slice($t, $p, $n) extrait les $n éléments du tableau


$t à partir de la position $p.

➢ La fonction shuffle($a) mélange les éléments d’un tableau et renumérote les


éléments.

27
Introduction HTML & CSC JavaScript Ajax CMS PHP
PHP

Recherche de sous-chaînes
<?
$ch = "bonjour salut bonjour"; 1. 2
$nb = substr_count($ch, "bonjour"); 2. "salut salut salut"
echo $nb; /* 1 */ 3. 8
$ch2 = str_replace("bonjour", "salut", $ch); 4. false
echo $ch2; /* 2 */ 5. 8
$pos = strpos($ch,"salut"); 6. "salut"
echo $pos; /* 3 */
$pos = strpos($ch,"Salut");
echo $pos; /* 4 */
$pos = stripos($ch,"Salut");/*Recherche la position de la première occurrence dans
une chaîne, sans tenir compte de la casse*/
echo $pos; /* 5 */
$ch3 = substr($ch,8,5);
echo $ch3; /* 6 */
?>
28
Introduction HTML & CSC JavaScript Ajax CMS PHP
PHP

Comparaison de chaînes de caractères

<?
echo strcmp("toto2","toto2"); 1. 0
echo strcmp("toto12","toto2"); 2. -1
echo strcmp("toto2","toto12"); 3. 1
echo strcasecmp("toto","ToTo"); 5. 1
?>

<?
$ch1 = "abc";
$ch2 = "bcd";
if ($ch1 < $ch2)
echo "<";
else
echo ">";
?>
29
Introduction HTML & CSC JavaScript Ajax CMS PHP
PHP

Exercices d’application

Initialiser un tableau de 4 cases (contenant des nombres) et en faire la somme.


a) sans faire de fonction
b) en créant une fonction somme
c) en créant un fichier spécifique qui contient la fonction somme.

30
Introduction HTML & CSC JavaScript Ajax CMS PHP
PHP

Variables serveur

PHP propose l’accès à toute une série de variables comme les en-têtes, dossiers et
chemins des scripts, sans que vous ayez à les créer, on les appelle les variables
serveur. Ces variables sont créées par le serveur web.

Le tableau $_SERVER permet d’accéder à ces variables.

Description de certaines variables :


$_SERVER['SERVER_NAME'] Le nom du serveur hôte qui exécute le script
$_SERVER['PHP_SELF'] Le nom du fichier du script en cours d'exécution, par
rapport à la racine web
$_SERVER['DOCUMENT_ROOT'] Racine du serveur
$_SERVER['REMOTE_ADDR'] Adresse IP du client
$_SERVER['QUERY_STRING'] Liste des paramètres passés au script
$_SERVER['REQUEST_METHOD'] Méthode d'appel du script
31
Introduction HTML & CSC JavaScript Ajax CMS PHP
PHP

Variables serveur
Exemple
<?php
echo 'PHP_SELF: '.$_SERVER['PHP_SELF'];
Le résultat obtenu sera :

echo "<br>"; PHP_SELF: /[Link]

echo 'SERVER_NAME: '.$_SERVER['SERVER_NAME']; SERVER_NAME: localhost


echo "<br>"; DOCUMENT_ROOT: c:/program
files/easyphp1-8/www
echo 'DOCUMENT_ROOT:
'.$_SERVER['DOCUMENT_ROOT']; REMOTE_ADDR: [Link]
echo "<br>"; REQUEST_METHOD: GET
echo 'REMOTE_ADDR: '.$_SERVER['REMOTE_ADDR'];
echo "<br>";
echo 'REQUEST_METHOD:
'.$_SERVER['REQUEST_METHOD'];
echo "<br>";
?>

32
Introduction HTML & CSC JavaScript Ajax CMS PHP
PHP

Accès fichiers
1. Ouverture / fermeture de fichier
Avant toute opération de lecture ou écriture sur un fichier il y a nécessité de
l’ouvrir. Et à la fin de tout traitement d’un fichier il y a nécessité de le fermer.

Syntaxe
<?
// Ouverture de fichier
$monfichier = fopen("nom_du_fichier", "r+");
// Traitements sur le fichier
// …..
// Fermeture du fichier
fclose($monfichier);
?>

33
Introduction HTML & CSC JavaScript Ajax CMS PHP
PHP
Accès fichiers
fopen() prend en entrée :
-le nom du fichier (ou même une url)
-le mode d’ouverture du fichier
fclose().

Les modes d’ouverture d’un fichier sont les suivants :


'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.

<?
$h = fopen("[Link] "r");
Exemple
$h = fopen("test/[Link]", "r+");
?> 34
Introduction HTML & CSC JavaScript Ajax CMS PHP
PHP
Accès fichiers
Lecture de fichier ( fgets() )

String fgets( resource ,int length )


fgets retourne la chaîne lue jusqu'à la longueur length - 1 octet depuis le pointeur de fichier, ou bien la fin du
fichier, ou une nouvelle ligne. Si aucune longueur n'est fournie, la longueur par défaut est de 1 ko ou 1024
octets.

Syntaxe
<?
$monfichier = fopen("nom_du_fichier", "r+");
fgets ($monfichier, $taille) ;
fclose($monfichier) ;
?>

La fonction prend en paramètre :


- le handle retourné par la fonction fopen()
- la taille en octets de lecture (optionnel)
Elle retourne en sortie une chaîne de caractères.
35
Introduction HTML & CSC JavaScript Ajax CMS PHP
PHP
Accès fichiers
Exemple :
L’exemple suivant va permettre de lire dans un fichier texte ([Link]) ligne par ligne puis d’afficher le résultat à
l’écran en mettant un numéro à chaque ligne.
Fichier [Link]

Rami Ahmed
Errachidia Exemple 1
maroc
<?php
$i=0;
Exemple 2
$fichier = '[Link]';
<table border="1"> $fp = fopen($fichier,'r') ;//ouverture du fichier en lecture seulement
<tr><th>Nom</th><th>Prenom</th while ( !feof($fp)) // tant qu’on n’est pas a la fin du fichier
></tr> {
<?php $ligne = fgets($fp); //Lecture ligne par ligne
$id = fopen("[Link]", "r"); echo 'Ligne '.$i++.'--->'.$ligne.'<br>'; }
while ($ligne=fgets($id)) { fclose($fp);
$t = explode(" ", $ligne); ?>
echo Le résultat obtenu sera :
"<tr><td>$t[0]</td><td>$t[1]</td Ligne 1 ---> Rami Ahmed
></tr>"; } Ligne 2 ---> Errachidia
flcose($id); Ligne 3 ---> maroc
?></table> 36
Introduction HTML & CSC JavaScript Ajax CMS PHP
PHP
Accès fichiers
Lecture de fichier (fread() )

string fread( resource handle , int length )


fread sert à lire un nombre d'octets déterminé dans un fichier ouvert.

Syntaxe Exemple Fichier [Link]

<?
<? // Lit un fichier, et le place dans une chaîne /
$monfichier = $filename = "[Link]";
fopen("nom_du_fichier", "r+"); $handle = fopen ($filename, "r");
fread ($monfichier, $taille) ; $contents = fread ($handle,filesize($filename));
fclose($monfichier); echo "-->".$contents;
?> fclose ($handle);
?>
Le résultat obtenu sera :
--> rami ahmed agadir maroc

37
Introduction HTML & CSC JavaScript Ajax CMS PHP
PHP

Exercices d’application

On souhaite créer avec un éditeur de texte le fichier suivant (appelé [Link])


Ahmed| rahmi | 3, el-masira | Errachidia
med| rachidi | 12, salam | Agadir
On va ouvrir ce fichier en PHP et réaliser un affichage comme suit :
Prénom : ahmed
Adresse : 3, el-masira
Ville : Errachidia

38
Introduction HTML & CSC JavaScript Ajax CMS PHP
PHP

Accès fichiers
Ecriture dans un fichier
La fonction pour l’écriture dans un fichier est fputs():
int fputs( int handle , string string , int length )
fputs écrit le contenu de la chaîne string dans le fichier pointé par handle. Si la longueur length
est fournie, l'écriture s'arrêtera après length octets, ou à la fin de la chaîne.

Syntaxe Exemple

<?
<?
$monfichier =
$filename = "[Link]";
fopen("nom_du_fichier", "r+");
$monfichier = fopen ($filename, "a+");
fputs ($monfichier, "Texte à écrire");
$contenu="ceci est le texte a ecrire\n";
fclose ($monfichier) ;
fputs($monfichier, $contenu);
?>
fclose ($monfichier);
?>
Le résultat obtenu sera :
Le fichier [Link] aura une ligne supplémentaire
contenant « ceci est le texte à écrire » 39
Introduction HTML & CSC JavaScript Ajax CMS PHP
PHP
Manipulations de fichiers
Existence :
<?php
if (file_exists("[Link]"))
echo "le fichier existe";
else echo "le fichier n'existe pas";
?>

Taille d’un fichier :


<?php
$nombre_octets = filesize("[Link]");
echo $nombre_octets;
?>

40
Introduction HTML & CSC JavaScript Ajax CMS PHP
PHP
Manipulations de fichiers
Copie de fichiers :
<?php
$res = copy("[Link]", "[Link]");
if ($res==FALSE) die("erreur");
?>

Renommer un fichier :
<?php
$res = rename("[Link]", "[Link]");
if ($res==FALSE) die("erreur");
?>

Supprimer un fichier :
<?php
$res = unlink("[Link]");
if ($res==FALSE) die("erreur");
?>
41
Introduction HTML & CSC JavaScript Ajax CMS PHP
PHP
Accès fichiers

Fonctions diverses de traitement de fichier :


feof($handle) fonction qui retourne un booleen pour indiquer la fin du fichier parcouru.
filesize($nom_du_fichier) fonction qui retourne la taille du fichier en octets.
file_exists($nom_du_fichier ) fonction qui retourne un booleen indiquant si le fichier
existe ou non.

42
Introduction HTML & CSC JavaScript Ajax CMS PHP
PHP

Passage et transmission de variables


Passage et transmission de variables par formulaire

Quand dans un site web un formulaire est rempli et envoyé, le contenu des champs saisis est
transféré à la page destination sous forme de variables. Ce passage de variables ou de
paramètres peut se faire de deux manières : en GET ou en POST.

➢ la méthode GET : les variables du formulaires sont transmises dans la barre d’adresse
sous la forme ?nom_du_cham=valeur. On peut mettre plusieurs variables à la suite en les
séparant par un &.
([Link]
➢ la méthode POST : les variables du formulaire transitent de manière invisible.

43
Introduction HTML & CSC JavaScript Ajax CMS PHP
PHP

Passage et transmission de variables


Passage et transmission de variables par formulaire

Syntaxe <!—Envoi d’un formulaire en POST -->


<form method="post" action="[Link]">
<input type="text" name="nom" size="12"><br>
<input type="submit" value="OK">
</form>
<!—Envoi d’un formulaire en GET ->
<form method="get" action=" [Link]">

</form>

Selon que la méthode d’envoi a été du GET ou du POST la récupération du contenu des variables est faite selon une syntaxe
différente :
<?php
//Dans le cas d’un envoi des paramètres en POST
Syntaxe $variable1=$_POST'[‘nom_du_champ'] ;

//Dans le cas d’un envoi des paramètres en GET


$variable1=$_GET['nom_du_champ'] ;
?>
44
Introduction HTML & CSC JavaScript Ajax CMS PHP
PHP

Passage et transmission de variables


Passage et transmission de variables par formulaire
Exemple :
Dans l’exemple suivant le fichier [Link] contient le script html permettant d’afficher un formulaire et d’envoyer
les résultats de la saisie à la page [Link] qui elle les affichera.

Fichier [Link] Fichier [Link]

<html>
<body> <?
<form method="post" action="[Link]"> //Récupération des paramètres passés
Nom : <input type="text" name="nom" $prenom = $_POST['prenom'];
size="12"><br> $nom = $_POST['nom'] ;
Prénom : <input type="text" name="prenom" //affichage des paramètres
size="12"> echo "<center>Bonjour $prenom
<input type="submit" value="OK"> $nom</center>";
</form> ?>
</body>
</html> 45
Introduction HTML & CSC JavaScript Ajax CMS PHP
PHP

Exemple d’écriture dans un fichier


<html>
<body>
<form method="post">
<b>Nom :</b> <input type="text" name="nom" required/><br/>
<b>Prénom :</b> <input type="text" name="prenom" required/><br/>
<input type="submit" value="Envoyer"/>
</form>
<?php
if (isset($_POST['nom']) && isset($_POST['prenom'])) {
$nom = $_POST['nom'];
$prenom = $_POST['prenom'];
$id = fopen("[Link]", "a");
if ($id === FALSE) {
die("Erreur lors de l'ouverture du fichier.");
}
fputs($id, "$nom;$prenom\n");
fclose($id);
echo "<p>Données enregistrées avec succès !</p>";
}
?>
</body>
</html> 46
Introduction HTML & CSC JavaScript Ajax CMS PHP
PHP

Passage et transmission de variables


Passage et transmission de variables par hyperlien
Des paramètres ou variables peuvent passer d’une page source vers une page destination sans transiter par un
formulaire pour leur envoi. Les hyperliens peuvent être des vecteurs de passage de paramètre.

Syntaxe:

<!—Syntaxe d’envoi -->


<a href=[Link] ?variable1=contenu1&variable2=contenu2&…> Lien </a>

La récupération des paramètres dans la page destination se fait par le tableau $_GET

<?
$variable1=$_GET['variable1'] ;
$variable2=$_GET['variable2'] ;
… 47
?>
Introduction HTML & CSC JavaScript Ajax CMS PHP
PHP

Passage et transmission de variables


Passage et transmission de variables par hyperlien
Exemple :
Dans l’exemple suivant nous allons créer un fichier [Link] contenant un menu fait d’hyperliens. Chacun de
ces hyperliens enverra des paramètres différents.
Ce menu sera appelé dans une page qui réagira différemment selon le paramètre envoyé.
Fichier [Link]
Fichier [Link]
<?php
<table width="200" border="0" cellspacing="0" cellpadding="1">
Include("[Link]") ;
<tr>
<td><a href="[Link]?menu=1">Menu1</a></td> echo "<br><br>" ;
</tr>
$menu= $_GET['menu'] ;
<tr>
<td><a href="[Link]?menu=2">Menu2</a></td> switch ($menu)
</tr> {
<tr>
<td><a href="[Link]?menu=3">Menu3</a></td> case 1: echo "Ceci est la page obtenue du Menu1" ; break;
</tr> case 2: echo "Ceci est la page obtenue du Menu2" ; break;
</table>
case 3: echo "Ceci est la page obtenue du Menu3" ; break;

default: echo "Ceci est la page d’accueil" ;

}
48
?>
Introduction HTML & CSC JavaScript Ajax CMS PHP
PHP

Les sessions et les cookies


Plusieurs possibilités existent pour transmettre des variables de pages en pages dans site web :
1. Les divers champs des formulaires, qu'ils soient hidden ou non.
2. Passer les variables directement à travers les liens.
3. Utiliser les cookies.
4. Utiliser les sessions.

Les sessions sont un moyen de stocker des informations relatives au visiteur. Il s’agit d’une
alternative aux cookies.
La différence entre les sessions et les cookies est que les cookies sont stockés sur le poste du
visiteur tandis que les sessions sont dans des fichiers présents sur le serveur. Il s’agit d’un
stockage temporaire mais, les fichiers de sessions ne peuvent pas être vus et modifiés,
contrairement aux cookies.

Comment ça fonctionne ?
Les informations sont stockées dans des fichiers, sur le serveur, à chaque session correspond un
fichier. Chaque session est désignée par un nom et un identifiant.

49
Introduction HTML & CSC JavaScript Ajax CMS PHP
PHP

Les sessions
Les fonctions de gestion des sessions :

Fonction Signification
session_start Démarre une session
session_register Enregistre une variable de session
session_unregister Efface une variable de session
Vérifie si une variable est déclarée pour
session_is_registered
la session en cours
session_id Retourne l'id de la session en cours
session_name Retourne le nom de la session en cours
Detruit toutes les variables de la session
session_unset
en cours
session_destroy Detruit la session en cours

50
Introduction HTML & CSC JavaScript Ajax CMS PHP
PHP

Les sessions

➢ chaque session a un identifiant différent (ce qui permet d'éviter la confusion


entre les connexions).

➢ toutes les variables enregistrées au cours d’une session, seront accessibles dans
les pages en utilisant :
Soit le tableau $_SESSION
Soit les fonctions : session_register , session_is_register ou session_unregister

➢ Les variables de session doivent être détruites lors de la déconnexion.

51
Introduction HTML & CSC JavaScript Ajax CMS PHP
PHP

Les sessions
On aura alors une page contenant un formulaire permettant à notre visiteur de se connecter à une
section membre (page [Link]) : [Link]
<html>
<head>
<title>Formulaire d'identification</title>
</head>
<body>
<form action="[Link]" method="post">
Votre login : <input type="text" name="login">
<br />
Votre mot de passe : <input type="password"
name="pwd"><br />
<input type="submit" value="Connexion">
</form>
</body>
</html>

52
Introduction HTML & CSC JavaScript Ajax CMS PHP
PHP
Les sessions
On aura alors par exemple (page [Link]) :
<?php
$login_valide = "moi";
$pwd_valide = " 1234";
if (isset($_POST['login']) && isset($_POST['pwd'])) {
if ($login_valide == $_POST['login'] && $pwd_valide == $_POST['pwd']) {
// dans ce cas, tout est ok, on peut démarrer notre session
session_start ();
// on enregistre les paramètres de notre visiteur comme variables de session
$_SESSION['login'] = $_POST['login'];
$_SESSION['pwd'] = $_POST['pwd'];
// on redirige notre visiteur vers une page de notre section membre
header ('location: page_membre.php');
}
else {
echo '<body non reconnu...\')">';
// puis on le redirige vers la page d'accueil
header ('location: [Link]‘);
}
}
else {
echo 'Les variables du formulaire ne sont pas déclarées.';
}
?> 53
Introduction HTML & CSC JavaScript Ajax CMS PHP
PHP

Les sessions
Remarquer également que nous utilisons notre session_start avant tout code HTML. Voyons alors le code de la
page de notre section membre, la page page_membre.php. On a :

<?php
session_start ();
// On récupère nos variables de session
if (isset($_SESSION['login']) && isset($_SESSION['pwd'])) {
// On teste pour voir si nos variables ont bien été enregistrées
echo '<html>';
echo '<head>';
echo '<title>Page de notre section membre</title>';
echo '</head>';
echo '<body>';
echo 'Votre login est '.$_SESSION['login'].' et votre mot de passe est'.$_SESSION['pwd'].'.';
echo '<br />';
// On affiche un lien pour fermer notre session
echo '<a href="./[Link]">Déconnection</a>';
}
else {
echo 'Les variables ne sont pas déclarées.';
}
?>
54
Introduction HTML & CSC JavaScript Ajax CMS PHP
PHP

Les sessions
Voyons alors le code de la page permettant au membre de se déconnecter (la page [Link]).
On aura alors :
<?php
// On démarre la session
session_start ();
// On détruit les variables de notre session
session_unset ();
// On détruit notre session
session_destroy ();
// On redirige le visiteur vers la page d'accueil
header ('location: [Link]');
?>

Résumons alors tout ce que nous venons de voir :


1. chaque session à un id différent (ce qui permet d'éviter la confusion entre les connexions).
2. à chaque page où notre session doit être active, on doit placer un session_start en tout début de page (avant tout code
HTML).
3. toutes les variables enregistrées au cours de notre session, seront accessibles dans les pages de notre session.
4. n'oubliez JAMAIS de détruire vos variables de session lors de la déconnexion.
55
Introduction HTML & CSC JavaScript Ajax CMS PHP
PHP

Application
Gestion d’un panier

Le fonctionnement du panier
L'utilisateur parcourt le catalogue disponible sur le Web, choisit les produits qu'il désire
acheter, et en fin de parcours, regarde une dernière fois le contenu de son panier afin d'y
apporter quelques éventuelles modification avant de valider l'achat et de payer le tout.

Définition des actions


Lors de l'utilisation d'un panier, l'utilisateur à quelques commandes de base :
1. ajouter un produit dans le panier(utilisé pendant le parcours du catalogue),
2. retirer un produit de la commande (utilisé lors de l'affichage du contenu du panier),
3. actualiser le panier(idem, affichage du panier - pour les clients qui voudraient ajouter
ou enlever des produits)
4. valider la commande.

56
Introduction HTML & CSC JavaScript Ajax CMS PHP
PHP

PHP et MYSQL

PHP et MySQLi sont deux technologies essentielles pour le développement web


dynamique. PHP est un langage de script côté serveur, tandis que MySQLi est une extension qui
permet la communication entre PHP et une base de données MySQL.

Définition
MySQLi (MySQL Improved) est une extension de PHP qui permet d'interagir avec des bases de
données MySQL de manière plus sécurisée et performante que l'ancienne extension MySQL.

57
Introduction HTML & CSC JavaScript Ajax CMS PHP
PHP

PHP et MYSQL
Les méthodes d'interaction avec MySQL
Définition

L'interaction avec MySQL désigne l'ensemble des opérations effectuées par un programme
PHP pour communiquer avec une base de données MySQL. Ces interactions incluent la
connexion, l'exécution de requêtes, la récupération et la manipulation des données ainsi que la
fermeture de la connexion à la base de données.

Il existe deux principaux styles pour interagir avec MySQL en PHP :


[Link] style procédural.
[Link] style orientée objet.

58
Introduction HTML & CSC JavaScript Ajax CMS PHP
PHP

PHP et MYSQL
Les styles d'interaction avec MySQL
Style procédural

Le style procédural est une approche de programmation où les fonctions sont appelées de manière séquentielle
pour effectuer des opérations sur une base de données. Avec MySQLi, on utilise des fonctions comme
mysqli_connect(), mysqli_query(), et mysqli_fetch_assoc() pour interagir avec MySQL.

Style orienté objet

Le style orienté objet est une façon de programmer où le code est organisé en objets. Un objet est une entité qui
combine des données (appelées propriétés) et des actions (appelées méthodes). Cela rend le code plus
organisé, réutilisable et facile à gérer.

59
Introduction HTML & CSC JavaScript Ajax CMS PHP
PHP

PHP et MYSQL
Le style procédural
1. Connexion à la base de données

• localhost: Le serveur de base de données. Ici, "localhost" signifie que MySQL est hébergé sur le même
serveur que le script PHP.
• utilisateur : Nom d'utilisateur MySQL (ex. "root" en local).

• mot_de_passe : Mot de passe associé à cet utilisateur MySQL.


• nom_de_la_base : Nom de la base de données à laquelle se connecter.

60
Introduction HTML & CSC JavaScript Ajax CMS PHP
PHP

PHP et MYSQL
2. Exécution d'une requête SQL

• La fonction mysqli_query() est utilisée pour exécuter des requêtes SQL sur une base de données
MySQL, en utilisant une connexion MySQLi établie.

61
Introduction HTML & CSC JavaScript Ajax CMS PHP
PHP

PHP et MYSQL
3. Récupération des données

•mysqli_fetch_assoc($result) : Cette fonction extrait une ligne de résultats de la requête sous forme
de tableau associatif.
•Chaque clé du tableau correspond au nom d'une colonne dans la base de données.
•Chaque valeur associée est la donnée correspondante pour cette ligne.
•La boucle while continue tant qu'il y a des lignes à parcourir dans $result.

62
Introduction HTML & CSC JavaScript Ajax CMS PHP
PHP

PHP et MYSQL

4. Fermeture de la connexion

mysqli_close($conn);

63
Introduction HTML & CSC JavaScript Ajax CMS PHP
PHP

PHP et MYSQL
Le style orientée objet

PDO
PDO (PHP Data Objects) est une extension PHP qui permet de se connecter et de manipuler des bases
de données de manière sécurisée, flexible et orientée objet. Elle prend en charge plusieurs types de
bases (MySQL, PostgreSQL, SQLite, etc.) et facilite la gestion des requêtes SQL grâce à ses
fonctionnalités avancées comme les requêtes préparées.

Relation entre POO et PDO


•PDO (PHP Data Objects) utilise les concepts de la POO pour interagir avec les bases de données en
PHP.
•PDO est entièrement basé sur la Programmation Orientée Objet, ce qui signifie :
• Il repose sur des classes et objets.
• Les connexions, requêtes et résultats sont manipulés via des méthodes (comportements).

64
Introduction HTML & CSC JavaScript Ajax CMS PHP
PHP

PHP et MYSQL
La méthode orientée objet avec PDO
Connexion à la base de données

try {
$pdo = new PDO("mysql:host=localhost;dbname=nom_de_la_base", "utilisateur", "mot_de_passe");
$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
}
catch (PDOException $e) {
echo "Erreur de connexion : " . $e->getMessage();
}

•$pdo = new PDO("mysql:host=localhost;dbname=nom_de_la_base", "utilisateur", "mot_de_passe");:Crée une instance


de la classe PDO pour établir une connexion à une base de données MySQL.
•$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);:Configure PDO pour lever une exception
(PDOException) en cas d'erreur.
•catch (PDOException $e) :Débute un bloc catch pour intercepter les exceptions levées par le bloc try.
$e->getMessage();Affiche un message d'erreur personnalisé avec le détail de l'erreur grâce à getMessage().
65
Introduction HTML & CSC JavaScript Ajax CMS PHP
PHP

PHP et MYSQL
La méthode orientée objet avec PDO

Exécution d'une requête préparée

$stmt = $pdo->prepare("SELECT * FROM utilisateurs ");


$stmt->execute();

• $stmt = $pdo->prepare(...) : Prépare la requête SQL.

• $stmt->execute(); : Exécute la requête préparée.

66
Introduction HTML & CSC JavaScript Ajax CMS PHP
PHP

PHP et MYSQL
La méthode orientée objet avec PDO
Récupération des données

while ($row = $stmt->fetch(PDO::FETCH_ASSOC)) {


echo "Nom: " . $row["nom"] . "<br>";
}

while ($row = $stmt->fetch(PDO::FETCH_ASSOC)) {


•Parcourt les résultats de la requête SQL exécutée avec $stmt.
•$stmt->fetch(PDO::FETCH_ASSOC) :
•Récupère une ligne de résultats sous forme de tableau associatif.
•Chaque clé du tableau correspond au nom d'une colonne de la table.
•La boucle continue tant qu'il y a des lignes disponibles.

67
Introduction HTML & CSC JavaScript Ajax CMS PHP
PHP

PHP et MYSQL
La méthode orientée objet avec PDO

Récupération des données

$pdo = null;

•Déconnecte la base de données.


•Détruit l’objet PDO, ce qui ferme la connexion à la base de données.

68

Vous aimerez peut-être aussi