0% ont trouvé ce document utile (0 vote)
8 vues107 pages

Cours PHP_MySQL Partie 1

Le document présente une introduction à la programmation web, en se concentrant sur les sites web statiques et dynamiques, ainsi que sur le fonctionnement des serveurs et des clients. Il aborde également le langage PHP, son histoire, sa syntaxe, et ses interactions avec MySQL pour la création d'applications web dynamiques. Enfin, il décrit les outils nécessaires pour développer des sites web et fournit des exemples de code PHP.

Transféré par

ramiarinarivo.roseline
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)
8 vues107 pages

Cours PHP_MySQL Partie 1

Le document présente une introduction à la programmation web, en se concentrant sur les sites web statiques et dynamiques, ainsi que sur le fonctionnement des serveurs et des clients. Il aborde également le langage PHP, son histoire, sa syntaxe, et ses interactions avec MySQL pour la création d'applications web dynamiques. Enfin, il décrit les outils nécessaires pour développer des sites web et fournit des exemples de code PHP.

Transféré par

ramiarinarivo.roseline
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
Vous êtes sur la page 1/ 107

PHP & MySQL

IFT Toamasina
Niveau 2

2024 - 2025
Plan

/X /v}]}v

//X >vPPW,W

///X v]}vvuvW,WlD˙^Y>

/sX u]v]]}vo}]oWZD˙u]v
I-Introduction (01)
1. Définition
La programmation Web est la programmation informatique qui permet
d’éditer des sites web. Elle permet la création d’application, destinées à
être déployées sur internet ou en intranet.
2. Formes des applications Web :
o Site web statique : ce sont des sites réalisés uniquement à l'aide des
langages HTML et CSS. Son contenu n’est pas influencé par l’internaute
qui la demande et évolue avec une intervention manuelle sur le code
source.
o Site web dynamique: utilisent d'autres langages en plus de HTML et CSS,
tels que PHP et MySQL. Son contenu évolue sans que le code du site web
soit modifié manuellement, mais par l’interaction des utilisateurs, par
génération automatique de page ou par du calcul.
I-Introduction (02)

En réseau informatique utilise internet, les ordinateurs peuvent être classé


en deux catégorie :

o Les clients : ce sont les ordinateurs des internautes. Chaque client


représente un visiteur de site web.
o Les serveurs : ce sont des ordinateurs qui stockent et délivrent des
sites web aux clients. Ils sont indispensable au bon fonctionnement
du Web.
I-Introduction (03)
3. Fonctionnement du site Web
o Le navigateur envoie l'adresse URL tapée
a. Cas du site statique
o Le serveur web est un "ordinateur présent sur
l'Internet et qui héberge la page demandée;
o Sur ce serveur, on trouve Apache, logiciel apte à
traiter les requêtes HTTP;
o Apache cherche le fichier demandé et renvoie à
votre navigateur la page HTML;
o Votre navigateur interprète les différents
langages se trouvant dans ce fichier (HTML,
JavaScript, etc.) et affiche la page.
I-Introduction (04)
b. Cas du site dynamique o Le serveur regarde si le fichier envoyé contient une
extension .php
o Si oui, il transmet le fichier à PHP qui l’analyse et l’exécute
o Si le code contient des requêtes vers MySQL, PHP envoie la
requête SQL à MySQL
o La base de données renvoie les informations voulues au
script qui peut les exploiter
o PHP continue d’analyser la page, puis retourne le fichier
dépourvu du code PHP au serveur web
o Le serveur web renvoie donc un fichier ne contenant plus
de PHP, donc seulement du HTML au navigateur qui
l'interprète et l'affiche
Introduction (05)
4. Outils nécessaires
o Cas du site statique
• Editeur du texte (Bloc note, Notepad++, Visual code,…)
• Navigateur ( FirexFox, Google Chrome, Opera munie,…)
o Cas du site dynamique
• Apache (serveur Web qui est chargé de délivre les pages web aux
visiteurs )
• PHP (plug-in pour Apache qui le rend capable de traiter des pages
web dynamiques en PHP)
• MySQL ( logiciel de gestion de base de donnée)
Introduction (06)
5. Rappel sur le langage HTML
Principe
o Fichier texte contenant des informations de structuration.
o La structure est indiquée à l’aide de balises :
• Le nom de la balise indique le type de mise en forme à appliquer.
• On met une balise ouvrante au début du morceau de texte concerné
et une balise fermante à la fin.
• Une balise ouvrante peut contenir des attributs de la forme
nom="valeur"
• Les balises peuvent être imbriquées.
o C’est le navigateur qui interprète les balises pour faire l’affichage.
Introduction (07)
Structure générale d’une page HTML

<!DOCTYPE html>
<head>
<title>titre de la page</title>
</head>
<body>
Partie affichée dans le navigateur.
</body>
</html>

Les commentaires (non affichés) sont délimités par < !-- et -->
Introduction (09)
 Tableau
<table border="2">
<thead>
<th>Titre01</th>
<th>Titre02</th>
</thead>
<tbody>
<tr>
<td>case 3</td>
<td>case 4</td>
</tr>
</tbody>
</table>
 Lien hypertextes
<a href="adresse web">texte</a>
o texte devient un lien cliquable.
o Lorsque on clique sur texte, la page de l’adresse (URL) adresse web s'affiche.
II-Langage PHP(01)
1. Définition

o Le PHP est un langage informatique ou un langage de script utilisé


principalement pour la conception de sites web dynamique.

o Ce langage est souvent associé au serveur de base de données MySQL et


au serveur Apache.

o Il signifiait à l’origine Personal Home Page, mais aujourd'hui le signifie Php


Hypertext Preprocessor.

o La syntaxe du PHP est proche de celle du langage C, mais elle est très
simple d'approche.
Langage PHP(02)
2. Historique
o Créé en 1994 par Rasmus Lerdorf pour conserver la trace des utilisateurs
venus consulter son CV
• PHP signifie alors Personal Home Page
o Version 2.0 en 1995
• Récupération de données soumises par Formulaire
• Interfaçage avec les SGBD
• Possibilité d'effectuer des calculs mathématiques
o 1996 : 15 000 sites Web
Langage PHP(06)
 Gestion de page à partir d'un script

<?php <html>
…. ….
………. Moteur PHP ……….
…….. ……..
?> </html>
Langage PHP(07)
b. Structure d'un fichier PHP
o Possibilité d’intégrer un script avec du code HTML dans le même
fichier (extension .php, .php3, .phtml)
o Possibilité d’intégrer plusieurs scripts dans le même fichier
c. Commentaires
o Trois manières d’écrire le commentaire
• // Commentaire de ligne
• #Commentaire de ligne
• /* commentaire sur
plusieurs lignes */
Langage PHP(08)
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Blog php ift</title>
</head>
<body>
<div>
<h1> Bonjour les etudiants de l'IFT </h1>
<?php
echo "Exemple du code 01";
?>

<?php
echo "<h1> Bonjour les etudiants de l'IFT </h1>";
echo "Exemple 02";
?>
</div>
</body>
</html>
Langage PHP(09)
d. Inclure des fichiers externes
Pour faire l’inclusion des fichiers externe, nous pouvons utiliser les
fonctions suivantes:
Fonction Description
Lors de son interprétation par le serveur, cette ligne est
remplacée par tout le contenu du fichier précisé en paramètre.
Include (‘’nom_fichier.php’’)
En cas d’erreur, include() ne génère qu’une alerte et le script
continue.
require(‘’nom_fichier.php’’) Similaire à la fonction include(), à la différence en cas d’erreur,
require() provoque une erreur fatale et met fin au script.
Include_once(‘’nom_fichier.php’’)
Fonction ne sont pas exécutées plusieurs fois.
Require_once(‘’nom_fichier.php’’)

<?php include_once("./template/header.php"); ?>

<?php include("./template/footer.php"); ?>


Langage PHP(13)

• Booléen
 défini implicitement avec des expressions numériques ou/et des
chaînes de caractères.
 Cas particulier des types numériques et chaînes de caractères
 Convention
Vrai : ≠ de 0 (numérique) ou non vide (chaîne de caractère)
Faux : =0 (numérique) ou vide (chaîne d caractère)
• Tableaux
• Objets (Programmation orientée objet)
Langage PHP(14)
• Opérateurs
 Opérateurs arithmétiques :
+,-,*,/,%
 Opérateurs d’incrémentation/ décrémentation :
++,--
 Opérateurs de comparaison
==, !=,>,>=,<,<=
 Opérateurs logiques
&& , and, || , or
Langage PHP(15)
f. Identifiant et Constante

Identifiant Constante
o Identifiant de variables ou de o Objets dont la valeur ne change pas
constantes est une suite de au cours de l’exécution du script
caractères qui : o Déclaration
• Ne contient pas d’espace define("nom_constante" ,"valeur");
• Commence par une lettre o Exemples
ou le caractère souligné ‘_’
define("PI",3.14);
• Différent des mots clés
define("Langue","Français");
o Exemples
• Nom, n1, _categorie, …
• 2n, prix ttc, define
Langage PHP(16)
g. Les variables
Déclaration
o Une variable est le conteneur d’une valeur d’un des types utilisés par
PHP (entiers, flottants, chaîne de caractère, tableaux, booléens, objet,
NULL).
o Règle de nommage:
• Commence par un caractère alphabétique ou par le caractère de
soulignement (_)
• Ne dois pas commencer par un chiffre;
• Les noms des variables sont sensibles à la casse.
• Les noms de variables sont précédés d'un $
Langage PHP(17)
Exemple :
• Les noms de variable suivants sont légaux:
$nom; / $NOM1
$_prenom; / $_1prenom

• Les suivants sont illégaux


$1nom;
$*prenom;
$adresse+;
Langage PHP(18)
Affectation par valeur et par référence
o L’affectation consiste à donner une valeur à une variable.
o L’affectation par valeur se fait à l’aide de l’opérateur =, soit après la
création de la variable, soit en même temps et l’opérande de gauche
prend la valeur de l’expression contenue dans l’opérande de droite.
o Pour la référence, utilise aussi l’opérateur =, l’ opérande de droite
est une variable qui doit être précédée du caractère & (esperluette).
o Syntaxe :
$nom_variable = expression; (affectation par valeur)
$nom_variable = &expression; (affectation par référence)
Langage PHP(19)
Exemple
• Affectation par valeur
$nb_jour = 7;
$pays = "Madagascar";
$expre_res = 7*3+2/1.5; // PHP fait l'évaluation de l’expression puis affecte le résultat
$data_con = mysql_connect($a, $b, $c); //fonction return une ressource
$teste_var = isset($var&&($var == 7)); //fonction retourne une valeur booléenne
• Affectation par référence
$fkt1 = "Mangarano";
$fkt2 = "Morarano"; La variable $fkt2 devient un alias de la
$fkt2 = &$fkt1; variable $fkt1, et les modifications opérées
$fkt1 = "Anjoma"; sur $fkt1 sont répercutées sur $fkt2.
Langage PHP(20)
Les opérateurs d’affectation combinée
Opérateur Description
+= Addition puis affectation:
$x += $y ; $x = $x +$y
-= Soustraction puis affectation:
$x -= $y; $x = $x-$y
*= Multiplication puis affectation
$x *= 2; $x = $x *2
/= Division puis affectation:
$x /=$y; $x = $x/$y
%= Modulo puis affectation:
$x %= $y; $x = $x%$y
.= Concaténation puis affectation:
$x .= $y; $x = $x . $y (valeur est une chaîne de caractère)
Langage PHP(21)
> ]o (]v]

Contient le nom et la valeur de toutes les variables globales du script. Les


$GLOBALS
noms des variables sont les clé de ce tableau ($GLOBALS[‘’appvar’’]

$_COOKIE Contient le nom et la valeur des cookies enregistrés sur le poste client.

Contient le nom et la valeur des variables d’environnement qui sont


$_ENV
changeables selon les serveurs.

$_FILES Contient le nom des fichiers téléchargés à partir du poste client.

Contient le nom et la valeur des données issues d’un formulaire envoyé


$_GET
par la méthode GET.
Langage PHP(22)
> ]o (]v]

$_POST Contient le nom et la valeur des données issues d’un formulaire envoyé
par la méthode POST.

$_REQUEST Contient l’ensemble des variables super globales $_GET, $_POST,


$_COOKIE et $_FILES.

Contient les informations liées au serveur web, tel le contenu des en-
$_SERVER
têtes HTTP ou le nom du script en cours d’exécution

$_SESSION Contient l’ensemble des noms des variables de session et leurs valeurs.
Langage PHP(22)
 u]v o ˙ v ]o
gettype($nom_var)
Retourne une chaine de caractères contenant le type de la variable en paramètre.

is_integer($nom_var) ou
is_int($nom_var) Retourne TRUE si la variable en paramètre est de type entier sinon retourne FASLE

Retourne TRUE si la variable en paramètre est de type double sinon retourne


is_double($nom_var)
FASLE
Retourne TRUE si la variable en paramètre est de type chaine sinon retourne FASLE
is_string($nom_var)

Retourne TRUE si la variable en paramètre est de type booléan sinon retourne


is_bool($nom_var) FASLE

Retourne TRUE si la variable en paramètre est de type tableau sinon retourne


is_array($nom_var) FASLE

Retourne TRUE si la variable en paramètre est de type objet sinon retourne FASLE
is_object($nom_var)
Langage PHP(23)
4. Les instructions de contrôle
L’instruction if
• Syntaxe
If (expression) instruction ou {bloc d’ instructions}
else instruction ou {bloc d’ instruction }

If (expression) instruction ou {bloc d’ instructions}


elseif (expression) instruction ou {bloc d’ instruction }
else instruction ou {bloc d’ instruction }
Langage PHP(24)
<?php
• Exemple
$mdp = "key#pas_127";
$nbTeste = 0;
<?php
if($mdp == "key#pas_127" &&
$nb= 5; strlen($mdp) >= 8)
if($nb % 2 == 0) {
{ echo "Vous ête connecté" ;
echo "nombre paire" ; }else{
}else{ echo "Mot de passe incorrect,
echo "nombre impaire"; réessayer";
} $nbTeste++;
?> }
?>
Langage PHP(25)
Opérateur ? Et ??
o L’opérateur ? permet de remplacer avantageusement une instruction if...else
en évaluant une expression et en attribuant à une variable une première
valeur si la condition est vraie ou une autre valeur si elle est fausse.

• Syntaxe:
$var = expression ? valeur1 : valeur2

• Exemple
$var = ($nb % 2 == 0)? "nombre paire" : "nombre impaire";
Langage PHP(26)
o L’operateur ?? retourne la valeur du premier opérande s’il existe et s’il n’a pas
la valeur NULL ou celle du second opérande dans le cas contraire.
• Syntaxe:
$var = $valuer01 ?? $valeur02;
Ou
$var = isset($valeur01) ? $valeur01 : $valeur02;
• Exemple
<?php
$adresse = $_POST['adresse'];
$var = $adresse ?? "adresse inconnue"; echo $var;
?>
Langage PHP(27)
L’instruction switch … case
• Syntaxe:

switch(expression) {

case valeur1: case valeurN:


bloc d’instructions 1; bloc d’instructions N;
break; break;
case valeur2: default:
bloc d’instructions 2; bloc d’instructions par défaut;
break; break;
........................ }
Langage PHP(28)
• Exemple
$choix = 2;
Switch(choix){

case 1:
echo "Ordinateur portable";
break;
case 2:
echo "Ordinateur de bureau";
break;
default:
echo "Appareil inconnu";
break;
}
Langage PHP(29)
L’instruction de boucle
• Boucle for
 Syntaxe

for(expression1; expression2; expression3){


//instruction ou bloc;
}

 Exemple <select name="nb">


<?php
<?php
for ($i=0; $i < 10 ; $i++) {
for($i=1;$i<7;$i++)
echo "<option> $i </option>";
{
}
echo "<h$i> $i :Titre de niveau $i </h$i>";
?>
}
</select>
?>
Langage PHP(30)
• La boucle while
 Exemple
 Syntaxe
<?php
while(expression) $n=10;
{ while($n > 0 )
{
//Bloc d'instructions à répéter
echo " <br>7 x $n = ",7*$n;
}
$n--;
}
?>
Langage PHP(31)
• La boucle do .. While
 Syntaxe  Exemple
do { <?php

//bloc d'instructions $n=10;


do{
}while(expression);
echo " <br>7 x $n = ",7*$n;
$n--;
}while($n > 0 )
?>
Langage PHP(32)
5. Les tableaux
Description
o On appelle tableau une variable composée de données de même type,
stockée de manière contiguë en mémoire (les unes à la suite des autres) ;
o On utilise la structure de données tableau quand on traite une série de
données de même type.
 Propriété
o Les éléments du tableau peuvent être :
• Des données de type simple ;
• Des pointeurs (objets contenant une adresse mémoire) ;
• Des tableaux ;
• Des structures.
Langage PHP(35)
• Les tableaux associatifs
o La fonction array() permet de créer un tableau associatif en définissant
pour chacun de ses éléments une clé et une valeur.
o Syntaxe :
$tab = array("cléA"=>valeurA, "cléB"=>valeurB,... "cléZ"=>valeurZ);
Ou
$tab = ["cléA"=>'valeurA', "cléB"=>'valeurB',"cléZ"=>'valeurZ'];
o Exemple:
$tab = array("sl1"=>"Salle 01", "sl2"=>"Salle 02", "sl3"=>"Salle 03");
$tab = ["sl1"=>"Salle 01", "sl2"=>"Salle 02", "sl3"=>"Salle 03"];
Langage PHP(36)
b. Tableaux multidimensionnels
o Un tableau multidimensionnel est similaire à une matrice
o Tableau a deux dimensions
o Contient deux indice, avec première indice désigne une ligne et
deuxième indice représente une colonne.
o Syntaxe:
$tab=array(
array("ligne 0-colonne 0","ligne 0-colonne 1","ligne 0-colonne 2"),
array("ligne 1-colonne 0","ligne 1-colonne 1","ligne 1-colonne 2"),
array("ligne 2-colonne 0","ligne 2-colonne 1","ligne 2-colonne 2"),
array("ligne 3-colonne 0","ligne 3-colonne 1","ligne 3-colonne 2")
);
Langage PHP(37)
Ou
$tab=[
["ligne 0-colonne 0","ligne 0-colonne 1","ligne 0-colonne 2"],
["ligne 1-colonne 0","ligne 1-colonne 1","ligne 1-colonne 2"],
["ligne 2-colonne 0","ligne 2-colonne 1","ligne 2-colonne 2"],
["ligne 3-colonne 0","ligne 3-colonne 1","ligne 3-colonne 2"]
];
o La fonction var_dump() ou print_r() nous permet d'afficher les éléments
d'un tableau
o Syntaxe : var_dump($tab);
print_r($tab);
Langage PHP(37)
c. Création des suites d'élément
o Pour créer des tableaux dont les éléments sont des suites de nombres
et éventuellement de lettres, on utilise la fonction range().
o On peut aussi utiliser la boucle for.
o Syntaxe :
$tab = range(min, max [, pas]);

o Exemple :
$tab = range(1, 20);
$tab = range("A", "L");
Langage PHP(39)
• Exemple
<?php
$tab= array("Web","Internet","PHP","JavaScript","PHP","ASP","PHP","ASP");
$result=array_count_values($tab);
echo "Le tableau \$tab contient ",count($tab)," éléments <br>";
echo "Le tableau \$tab contient ",count($result)," valeurs différentes <br>";
print_r($result);
?>
• Résultat:
Le tableau $tab contient 8 éléments
Le tableau $tab contient 5 valeurs différentes
Array ( [Web] => 1 [Internet] => 1 [PHP] => 3 [Javascript] => 1 [ASP] => 2 );
Langage PHP(40)
Lecture des éléments dans un tableau
o Avec une boucle for
<?php
$tab=array("Mangarano","Verrerie","Morarano");
for ($i=0;$i<count($tab);$i++)
{ echo "L'élément $i est $tab[$i]<br />";}
?>
o Résultat
L'élément 0 est Mangarano
L'élément 1 est Verrerie
L'élément 2 est Morarano
Langage PHP(41)
o Avec une boucle while

<?php
$montab=array ("Mangarano","Verrerie","Morarano");
$i=0;
while(isset($montab[$i]) )
{
echo "L'élément $i est $montab[$i]<br />";
$i++;
}
?>
Langage PHP(42)
o Avec l'instruction foreach
• Contrairement à la boucle for, l’instruction foreach() ne nécessite pas
de connaitre par avance le nombre d’éléments du tableau à lire. Sa
syntaxe varie en fonction du type de tableau.
• Syntaxe
 Pour les tableaux indicés:
foreach($tab as $valeur)
{
//bloc de code utilisant les valeurs de la variable $valeur;
}
 Pour les tableaux associatif
foreach($tab as $cle=>$valeur)
{
//bloc de code utilisant les valeurs des variables $cle et
$valeur;
}
Langage PHP(43)
o Exemple
<?php
$tab=array ("Tamatave","Tana","Majunga");
echo "<H3>Lecture des valeurs des éléments </H3>";
foreach($tab as $ville){
echo "<b>$ville</b> <br>";
}
echo "<h3>lecture des indices et des valeurs des éléments </h3>";
foreach($tab as $indice=>$ville){
echo "L'élément d'indice <b>$indice</b> a la valeur
<b>$ville</b><br>";
}
?>
Langage PHP(44)
>](}v]}v]v}uvuv]oo˘

Nom Syntaxe Description


Extraire une partie d’un tableau,
$sous_tab = array_slice($tab,
array_slice() ind :indice partant et nb: nombre
int ind, int nb)
d’ élément
Rechercher un élément dans un
in_array() in_array(expression, $tab)
tableau $tab
array_push($tab, valeur1, Ajout élément à la fin du tableau
array_push()
valeur2,…,valeurN) $tab
array_unshift($tab, valeur1,
Ajout élément au début du
array_unshift() valeur2,…, valeurN)
tableau $tab

Supprimer élément à la fin du


array_pop() array_pop($tab)
tableau $tab
Langage PHP(45)
>](}v]}v]v}uvuv]oo˘
Nom Syntaxe Description
Supprimer élément au début du tableau
array_shift() array_shift($tab)
$tab
unset($tab[indice]) ou Supprimer un élément de l’indice ou clé en
unset()
unset($tab[clé]) paramètre
array_count_values Calculer le nombre d’ occurrence du tableau
array_count_values($tab)
() $tab
array_merge() array_merge($tab01, $tab02,…) Fusionner les tableaux en paramètre
array_intersect() et array_intersect($tab01,$tab02,…) Intersection entre les tableaux
array_diff() , array_diff($tab01,$tab02,…) Différence entre les tableaux
Trie les valeurs du tableau $tab en ordre
sort() ou asort sort($tab) ou asort($tab)
croissant.
Trie les valeurs du tableau $tab en ordre
rsort ou arsort() rsort($tab) ou arsort($tab)
décroissant.
Langage PHP(46)
o Exercise
1. Créer un tableau associatif multidimensionnel pour stocker la liste des étudiants
inscrits. Les clés sont : nom, prénom, adresse, ville.
2. Afficher une liste des noms des étudiants.
2. Lire les donnés dans ce tableau en utilisant la boucle foreach et afficher dans le
navigateur web.
3. Écrivez une expression conditionnelle utilisant les variables $age et $sexe dans une
instruction if pour sélectionner une personne de sexe féminin dont l’âge est
compris entre 10 et 30 ans et afficher un message de
bienvenue approprié.
Langage PHP – Formulaire(01)
6. Formulaire
Récupération des données du formulaire
o Après la clique de boutons dans le formulaire, une requête HTTP est
envoyée au serveur à destination du script désigné par l’attribut action
de l’élément <form> .
o La requête contient toutes les associations entre les noms des champs
et leur valeur.
o Ces associations se trouvent dans l’entête HTTP si la méthode POST est
utilisée et dans l’URL s’il s’agit de la méthode GET.
Langage PHP
• Valeurs unique
Les valeurs des champs de formulaire sont contenues sur le serveur dans des
tableaux associatifs dits superglobaux appelés $_POST et $_GET, selon la
méthode choisie. Les clés de ces tableaux sont les noms associés aux champs
par l’attribut name.
• Syntaxe
o Cas de la methode POST
$var = $_POST['nom_de_la formulaire'];
o Cas de la mehode GET
$var = $_GET['nom_de_la_formulaire'];
Langage PHP
• Exemple :
<form class="form" action="<?= $_SERVER["PHP_SELF"] ?>" method="POST">
<div class="form-group">
<label for="">Nom</label>
<input type="text" class="form-control" name="nom" placeholder="nom">
</div>
</form>

if(isset($_POST['nom'])){ if(isset($_GET['nom'])){

$nom = $_POST['nom']; $nom = $_GET['nom'];

} }
Langage PHP
• Valeurs multiple
o Les champs de formulaire peuvent être contenir de plusieurs valeurs a un
même nom de composante.
o Comme dans un groupe de cases à cocher ayant le même attribut name,
d’une liste de sélection …
o On fait la récupération de valeur comme dans un tableau multidimensionnel.
o Syntaxe
$var = $_POST['nom_de_la_formulaire'][nombre_indice];
Ou
$Var = $_GET['nom_de_la_formulaire'][nombre_indice];
Langage PHP
Exemple:
<select name="select_parc[]" class="form-control" multiple="multiple">
<option value="Gestion" >Gestion</option>
<option value="Informatique" selected = true >Informatique</option>
</select> Ou
$option_1 = $_POST['select_parc'][0]; if(isset($_POST['select_parc'])){
$option_2 = $_POST['select_parc'][1]; $nom = $_POST['select_parc'];
echo "<ul>";
foreach ($nom as $key => $value) {
echo "<li>",$value,"</li>";
}
echo "</ul>";
}
Langage PHP
• Autre exemple:
<input type="checkbox" name="competent[]" value="Structure de donnée" />
<input type="checkbox" name="competent[]" value="Langage PHP" />
<input type="checkbox" name="competent[]" value="MySQL" />

$var = $_POST['competent'];
foreach ( $var as $key=>$valeur){
echo $valeur;
}
Langage PHP
 Transfert de ficher vers le serveur
o Inclusion des fichiers de différents types dans le serveur;
o Pour créer un champ de formulaire de transfert de ficher, on utilise le formulaire de
type file
(<input type="file" name="fihcier" enctype="multipart/form-data" />);
o $_FILES contient les informations nécessaires au traitement du fichier transféré.
• Lecture des valeurs d'un champ de type file:
o $_FILES["fichier"]["name"] : contient le nom qu’avait le fichier sur le poste client.
o $_FILES["fichier"]["type"] : contient le type initial du fichier;
o $_FILES["fichier"]["size"] : donne la taille réelle en octet du fichier transféré.
o $_FILES["fichier"]["tmp_name"] : donne le nom temporaire que le serveur
attribue automatiquement au fichier en l’enregistrant dans le répertoire tampon.
Langage PHP
o $_FILES["fich"]["error"] : Donne le code d’erreur éventuel associé au fichier téléchargé et permets d’afficher un
message d’erreur en clair en créant un tableau indicé de 0 à 4 contenant les messages appropriés.
 UPLOAD_ERR_OK : de valeur 0, indique que le transfert est bien réalisé.
 UPLOAD_ERR_INI_SIZE : de valeur 1, indique que la taille du fichier est supérieure à celle définie dans
la php.ini.
 UPLOAD_ERR_FORM_SIZE : de valeur 2, indique que la taille est supérieure à celle définie dans le
champ caché MAX_FILE_SIZE (si la taille maximale du fichier est personnalisée avec un champ caché).
 UPLOAD_ERR_PARTIAL : de valeur 3, indique que le fichier n’a été que partiellement téléchargé.
 UPLOAD_ERR_NO_FILE : de valeur 4, indique qu’aucun fichier n’a été téléchargé.
o La fonction move_uploaded_file() nous permet de procéder et de renommer un fichier sur le serveur.
• Syntaxe :
boolean move_uploaded_file( string "fichtmp", string "fichfinal");
Langage PHP
Exemple :
<form class="form" action="<?= $_SERVER["PHP_SELF"] ?>" method="POST" enctype="multipart/form-data">
<div class="form-group">
<input type="file" name="fichier">
<input type="submit" name="submit" value="upload">
</div>
</form>

if(isset($_FILES['fichier'])){
foreach ($_FILES['fichier'] as $key => $value) {
echo $value;
}
$result=move_uploaded_file($_FILES["fichier"]["tmp_name"],"upload/".$_FILES["fichier"]["name"]);
if($result==TRUE){
echo "<hr /><big>Le transfert est effectué !</big>";
} else {
echo "<hr /> Erreur de transfert n°",$_FILES["fichier"]["error"];
}
}else{
echo "rien ";
}
Langage PHP-Fonction (01)
7. Fonction
On appelle fonction un sous-programme qui permet s'effectuer un ensemble
d'instruction par simple appel de la fonction dans le corps du programme principale.

Avantage d’utilisation d’une fonction

o Modularité : diviser le problème à résoudre en petits problème et résoudre


chacun d’eux par un module (facile à composer), appelé fonction pour la
plupart des langages.

o Réutilisabilité: possibilité de réutiliser certaines fonctions dans un autre


problème.
Langage PHP
Définition d'une fonction
• Syntaxe
function mafonction($x,$y,...) {
//code de définition de la fonction
return $var;
}
mafonction : nom de la fonction;
$x et $y : sont des paramètres;
$Var : valeur de retour.
Langage PHP
Remarque:
• Le nom de la fonction suit les même règles que les noms de variables:
o Le nom doit commencer par une lettre;
o Le nom de fonction peut porter des lettres, des chiffres et les caractères _
et &;
o Sensible à la casse.
Appel d'une fonction
mafonction($a,$b,..)
Ou
mafonction(1,2,..)
Typages des paramètres
Il est désormais possible de définir un typage des paramètres d’une fonction. Les
types qu’on peut exiger sont int, float, string, bool, array, un nom de classe et
d’interface.
Langage PHP
 Type des fonctions
• Fonction sans valeur de retour
o Sont des fonctions qui ne retour pas de valeur, mais peut prendre des paramètres ou des
arguments.
o Exemple
function afficheDate(){
echo "Bonjour ";
echo "Aujourd'huit le",date(" d/m/y");
}
function afficheDate_02($var){
echo $var;
echo "Aujourd'huit le",date(" d/m/y");
}
afficheDate();
afficheDate_02(‘’Bonjour’’);
Langage PHP-Fonction (06)
• Mode de passage de paramètre
o Par valeur
o Par référence
o Par référence ponctuelle

 Passage par valeur


o Mode par défaut;
o Les paramètres effectifs gardent leur valeurs après l’appel de la
fonction, même si cette dernière les modifie à l’intérieur de son corps.
=> la fonction travaille sur une copie des paramètres
Langage PHP-Fonction (07)
• Exemple
<?php
function doubler($a){
$a=$a*2;
echo "valeur du paramètre dans la fonction:$a<br>";
}
$b=5;
echo "valeur du paramètre avant l'appel:$b<br>";
doubler($b);
echo "valeur du paramètre après l'appel:$b<br>";
?>
Langage PHP-Fonction (08)
 Passage par référence
o Le changement d’un paramètre effectif sera perceptible de l’extérieur.
=> la fonction travaille sur le paramètre et non sur sa copie
o Notation : précéder le paramètre formel par &
function nom_fonction(&$param1,&$param2,…)
Langage PHP-Fonction (09)
<?php
function doubler(&$a){
$a=$a*2;
echo "valeur du paramètre dans la fonction:$a<br>";
}

$b=5;
echo "valeur du paramètre avant l'appel:$b<br>";
doubler($b);
echo "valeur du paramètre après l'appel:$b<br>";
?>
Langage PHP-Fonction (10)
 Passage par référence ponctuel
o Lors de la définition de la fonction les paramètres sont passés par valeur
o Lors de l’appel de la fonction les paramètres effectifs sont précédés par &
o Exemple
<?php
function doubler($a){
$a=$a*2;
echo "valeur du paramètre dans la fonction:$a<br>";
}

$b=5;
echo "valeur du paramètre avant l'appel:$b<br>";
doubler(&$b);
echo "valeur du paramètre après l'appel:$b<br>";
?>
Langage PHP-Fonction (10)
• Paramètres par défaut
o Attribuer une valeur par défaut à un (des) paramètre(s) omis lors de l’appel
d’une fonction
o Notation : affecter la valeur par défaut au paramètre formel
o function nom_fonction($param1,$param2 = val )
o Le 2ème paramètre a une valeur par défaut
o Appel de la fonction :
• nom_fonction($eff);
• nom_fonction($eff1,$eff2);
Langage PHP-Fonction (11)
Exemple :
<?php function nb_multiple($init=0,$fin=10,$nb=5){
for($i=$init;$i<=$fin;$i+=1){
$result = $nb*$i;
echo "$nb * $i = $result <br>";
}
}
nb_multiple();
nb_multiple(2);
nb_multiple(2,20,7);
?>
Remarque
o Seuls les derniers paramètres peuvent avoir des valeurs par défaut
Langage PHP-Fonction (12)
• Nombre de paramètres indéfini
o Dans ce cas les paramètres sont extraits par deux fonctions :

• func_num_arg() : retourne le nombre de paramètres passés à


la fonction;

• func_get_arg ($i) : retourne le paramètre d’indice $i dans la


liste des paramètres;
o Le premier paramètre a l’indice 0.
Langage PHP-Fonction (13)
Exemple : afficher les paramètres reçus par une fonction
<?php
function sansparam(){
$nb_par = func_num_args();
for($i=0;$i<$nb_par;$i++){
$param = func_get_arg($i);
echo "param $i : $param <br>";
}
}
sansparam("bonjour","mon","ami");
?>
Langage PHP-Fonction (14)
• Variables globales
o Les paramètres locales à une fonction ne sont pas visibles de l’extérieur;
o Une variable globale peut être accédée ou modifiée à partir de
n’importe quelle fonction du même fichier;
o Pour utiliser une variable globale nous devons la déclarer par la ligne
suivante : global $nom_var;
Exemple:
Function func_var_global(){ Func_var_global();
global $nb; Echo "Valeur de la variable global : $nb";
$nb = 2;
$nb *=10;
}
Langage PHP(47)
8. Date et Heure
oAfficher la date et l'heure actuelle
echo "Nous sommes le " . date("j m Y") . " et il est " .date("H \h i") . "
mn";
oLes fonctions date() et mktime() :
• date("format", $timestamp) retourne une chaîne de caractères qui
contient la date $timestamp au format indiqué en premier argument;
• $timestamp est la date Unix (nombre de secondes depuis le 1er
janvier 1970)
• si $timestamp est omis, il s'agit de la date actuelle;
• si le format est omis, date() retourne $timestamp;
Langage PHP(49)
o Caractères de définition au format d'affichage

Caractère Définition et résultat affiché


y L’année en deux chiffres (24 pour 2024)
Y L’année en quatre chiffres (2024)
L Affiche 1 si l’année est bissextile et 0 sinon.
m Le mois en deux chiffres de 01 à 12
n Le mois en un ou deux chiffres de 1 à 12
M Le mois en trois lettres (en anglais)
F Le mois en toutes lettres (en anglais)
d Le jour du mois en deux chiffres de 01 à 31
Langage PHP(50)
Caractère Définition et résultat affiché
j Le jour du mois en un chiffre de 1 à 31
D Le jour de la semaine en trois lettres (en anglais)
l (L) Le jour de la semaine en toutes lettres (en anglais)
z Le jour de l’année de 0 à 366
g Les heures de 1 à 12 (avec AM et PM)
h Les heures de 01 à 12 (avec AM et PM)
G Les heures de 0 à 23
H Les heures sur deux chiffres de 00 à 23
i Les minutes en deux chiffres de 00 à 59
s Les secondes en deux chiffres de 00 à 59
U Affiche le timestamp Unix
Langage PHP(47)
• mktime(int heur, int min,int seconde, int mois, int jours, int année) retourne
$timestamp associé à la date indiquée en paramètres.
oLes fonctions getDate():
• Cette fonction retourne un tableau contenant toutes les informations de date.
• Syntaxe:
array getdate([int timestamp])
Si le paramètre timestamp est omis, la fonction getdate() retourne les
informations sur la date en cours.
Langage PHP(47)
 Ce tableau retourné est un tableau associatif, dont les clés sont:

Clé Description

wday Le jour de la semaine sous forme d’entier de 0 (dimanche) à 6


(samedi)

weekday Le jour de la semaine sous forme de chaîne (en anglais

mday Le jour du mois sous forme d’entier de 0 à 31

mon Le mois sous forme d’entier de 1 à 12

month Le mois sous forme de chaîne (en anglais)

year L’année en entier sur 4 chiffres


Langage PHP(47)
Clé Description
hours L’heure de 0 à 23
minutes Les minutes de 0 à 59
seconds Les secondes de 0 à 59
yday Le jour de l’année de 1 à 366
0 Le timestamp correspondant à la date

• La fonction checkdate(), nous permet de vérifier une date.


• Syntaxe : boolean checkdate(int mois, int jour, int année)
• Exemple
if(isset($_POST["date"] ) ) {
$date=$_POST["date"] ;
$tabdate=explode("/", $date) ;
if(! checkdate($tabdate[1] , $tabdate[0] , $tabdate[2] ) ) {
echo " La date $date n' est pas valide. Recommencez !"; }
else { echo "La date $date est valide."; }
}
Langage PHP-Fichier (01)
1. Définition
o Est un moyen pour enregistrer les données en permanence;
o Ce type de stockage est principalement utilisé pour des quantités de
données de taille modeste;
o Il n'est pas pratique dans le cas de la recherche complexe.
2. Création
o On peut utiliser la fonction touch() pour modifier la date de modification
d'un fichier;
o Si le fichier n’existe pas, cette fonction le crée et lui affecte la date
passée en deuxième argument sous la forme d’un timestamp Unix
comme date de dernière modification.
Langage PHP-Fichier (02)
Syntaxe:
boolean touch(string "nom_fichier"[, integer timestamp] );
Exemple
<?php
if(! file_exists("monfich. txt") ){
touch("monfich. txt", time() ) ;
}
?>
o monfich.txt : nom du fichier;
o la function file_exists() : TRUE si le fichier existe déjà et FALSE dans le
cas contraire.
Langage PHP-Fichier (03)
3. Ouverture du fichier
o Pour travailler sur un fichier texte, il faut l'ouvrir;
o On utilise pour cela la fonction fopen.
o Syntaxe:
resource fopen(string $nom, string mode, [boolean path] );
• 1er parameter : est une chaîne de caractères indiquant le nom du ficher
que nous souhaitons utiliser. Il peut être sous une forme reduite(le nom
du fichier seul) ou développée ( le nom du fichier et son chemin d'accès
complet).
Langage PHP-Fichier (04)
2em paramètre : détermine le mode d'accès au fichier.

Mode d'accès
Description
au fichier
"r" Il est ouvert en lecture seul, et la lecture commence au début du fichier
Il est ouvert en lecture et en écriture, et ces opérations commencent au
"r+" début du fichier

"w" Il est ouvert en écriture seul, et écriture commence au début du fichier


Il est ouvert en lecture et écriture, et ces opérations commencent au début
"w+" du fichier

"a" Il est ouvert en écriture seule, et les données sont écrites en fin de fichier
Il est ouvert en lecture et en écriture, et les données sont écrites en fin du
"a+" fichier
Langage PHP-Fichier (05)
3em paramètre :
o si la valeur vaut TRUE, la recherche du fichier est étendue à tous les sous-
répertoires du chemin indiqué dans le 1er paramètre.
o Sinon, la recherche est limitée à l'emplacement indiqué.
o Exemple
<?php
$id_file = fopen("monfich.text","a");
if(!$id_file) echo "Erreur d'accès au fichier";
?>
Langage PHP-Fichier (06)
4. Fermeture du fichier
o La fonction fclose() est utilisée pour fermer un fichier
o Syntaxe :
Boolean fclose($id_file);
o Exemple :
<?php
fclose($id_file);
?>
Langage PHP-Fichier (07)
5. Verrouillage des fichiers
o Pour éviter la corruption par la lecture ou écriture simultanément dans un
fichier;
o On utilise la fonction flock().
o Syntaxe:
Boolean flock(ressource $id_file, int N);
$id_file : valeur retourné par la fonction fopen();
N: définit le mode de verrouillage du fichier
o flock($id_file, LOCK_SH) : bloque l'écriture dans le fichier mais laisse
le libre accès en lecture à tous les utilisateurs ( LOCK_SH = 1);
Langage PHP-Fichier (08)
o flock($id_file, LOCK_EX) : bloque l'écriture et la lecture du fichier par un autre
script. Le script en cours a donc l'exclusivité (LOCK_EX = 2);
o flock($id_file,LOCK_UN): libère le verrou installe précédemment (LOCK_UN = 3).
o Exemple

<?php
$id_file = fopen("monfich.txt","a");
flock($id_file, LOCK_SH ou LOCK_EX);
/* opération de lecture
et/ou d'écriture
*/
fclose($id_file);
?>
Langage PHP-Fichier (09)
6. Ecriture dans un fichier
o Pour pouvoir écrire dans un fichier, il faut auparavant l'avoir ouvert en
écriture;
o On utilise la fonction fwrite() ou la fonction fputs().
o Syntaxe :
Integer fwrite(ressource $id_file, string "chaîne" [, int N];
Integer fputs(ressource $id_file, string "chaîne" [, int N];
o Exemple
<?php $id_file = fopen("monfich.txt","w");
flock($id_file,1);
fwrite($id_file, $nom.";".$prenom."\n");
flock($id_file,3);
fclose($id-file);
?>
Langage PHP-Fichier (10)
7. Lecture de fichiers
Avant de lire le contenu d'un fichier, il faut généralement l'ouvrir.
Il y a plusieurs méthode pour lire le fichier : fgets(), fread(), fseek(), fgetcsv(),
readfile(), file(), passthru().
Fonction Syntaxe Description
String fgets(ressource $id_file,
fgets() Lecture d'une ligne à la fois
integer nombre_octets)
String fread(ressource $id_file,
Fread() Lecture d'un nombre de caractère donné
integer nb_octets)
fgetc() String fgetc(ressource $id_file) Lecture un caractère à la fois

Lecture d'une partie d'un fichier. Elle ne


Integer fseek(ressource $id_file,
fseek() renvoie pas une valeur du fichier et ne fait que
integer nb_octets)
positionner un pointeur en un point particulier.
Langage PHP-Fichier (13)
8. Modification de fichier
Fonction et syntaxe exemple
boolean copy(string "nom_fichier", string $result= (copy("monfich. txt", "nouvfich. bak") ) ?
"nom_copie"); "Copie réalisée": "Erreur de copie" ;
echo $result;

$result= (rename("monfich. txt", "nouvfich.txt") ) ?


boolean rename(string "nom_actuel",
"modification réalisée": "Erreur de modification" ;
string "nom_futur");
echo $result;

if(file_exists("votes. bak") ){
$result= (unlink("nouvfich. bak") ) ? "Suppression
Boolean unlink(string "nom_fichier"); réalisée" : "Échec de la suppression"; }
else{echo "Le fichier n' existe pas dans ce répertoire!
<br>"; }

Vous aimerez peut-être aussi