Réalisé par :
• YASSINE BATTOUCH
• ES-SOUSY ALI
• EL HAOUZI JAMAL
• ZERGUI JAMAL
• FARIS YOUNES
Le PHP Plan du cours :
1. Introduction
2. Les variables
3. Les opérateurs d’affectation
4. Les types des données
5. Les opérateurs
6. Les structures de controle
7. Les tableaux
8. Transmission de variables :
Qu'est ce que PHP ?
• PHP (PHP: Hypertext Preprocessor), est un langage de
programmation libre, principalement utilisé pour produire
des pages Web dynamiques via un serveur HTTP mais
pouvant également fonctionner comme n'importe
quel langage interprété de façon locale. PHP est
un langage impératif orienté objet.
• Typage : Dynamique, Faible
Qu'est-ce qu’une page
web dynamique ?
• Une page web dynamique est une page
web qui est générer et modifier en
fonction de la demande d’un
utilisateur. Exemple : les sites des
news, de commerce électronique,…
De quoi ai-je besoin par commencer
apprendere PHP?
• Prérequis : HTML / Algorithmique
• Logiciels : Visual Studio Code
• Servuer : Installation de servuer ( Apache)
Principes de PHP
• L'interprétation du code par le serveur
Un script PHP est un simple fichier texte contenant des instructions écrites .incluses dans un code HTML à l'aide de
balises spéciales et stocké sur le serveur. Ce fichier doit avoir une extension particulière (qui dépend de la
configuration du serveur HTTP, en général ".php") pour pouvoir être interprété par le serveur.
Ainsi, lorsqu'un navigateur (le client) désire accéder à une page dynamique réalisée en php :
• Le serveur reconnaît qu'il s'agit d'un fichier PHP
• Il lit le fichier PHP
• Dès que le serveur rencontre une balise indiquant que les lignes suivantes sont du code PHP, il "passe" en mode PHP, ce
qui signifie qu'il ne lit plus les instructions: il les exécute.
• Lorsque le serveur rencontre une instruction, il la transmet à l'interpréteur
• L'interpréteur exécute l'instruction puis envoie les sorties éventuelles au serveur
• A la fin du script, le serveur transmet le résultat au client (le navigateur)
Requête d'une page HTML :
Requête d'une page PHP :
Remarque : Code PHP et clients Web
Un script PHP est interprété par le serveur, les utilisateurs
ne peuvent donc pas voir le code source.
Le code PHP stocké sur le serveur n'est donc jamais visible
directement par le client puisque dès qu'il en demande
l'accès, le serveur l'interprète ! De cette façon aucune
modification n'est à apporter sur les navigateurs...
1) Structure générale d’un script PHP
• Balises PHP (Syntaxe PHP)
Commentaires
• En version 7, PHP accepte deux syntaxes
pour les balises : <?php
<?php ….?> //Commentaire sur une seule ligne,
<?.......?> <?php
//Commentaire
/* sur une seule ligne, style C++
• Avant la version 7, PHP acceptait deux Ceci est un
syntaxe ssupplémentaires pour les balises : /* commentaire
Ceci Sur
est un
<script language="php"> ... </script> commentaire
plusieurs lignes
*/ Sur
<% ... %> plusieurs lignes
*/
# Ceci est un commentaire sur une seule ligne
• Tout ce qui est à l'extérieur de la balise ?>
PHP est transmis tel quel au navigateur; # Ceci est un commentaire style shell sur une seule
seul les instructions PHP sont interprétées ligne ?>
par le moteur PHP.
La fonction echo Séparation des instructions
• echo - Affiche une chaîne de caractères • PHP requiert que les instructions soient
terminées par un point-virgule à la fin de
chaque instruction
<?php
echo 'Ceci est un test’;
echo "Ceci est un autre test";
?>
<?=
'Et un test final';
?>
Les variables
▪ Les variables commencent par un "$" suivi du nom de la variable
▪ Un nom de variable valide doit respecter les règles suivantes (après le
symbole $:
• Le nom est sensible à la casse : $a et $A sont
deux variables distinctes.
• Le premier caractère doit être une lettre ou un souligné _
• À partir du deuxième caractère seul les lettres,
chiffres ou soulignés sont acceptés
▪ La déclaration d’une variable se fait avec la syntaxe :
$nom_variable = valeur_variable;
▪ L’initialisation des variables n’est pas obligatoire.
Exemples :
<? php
$var; //nom de variable valide
$Var; //nom de variable valide
$4vars; //nom de variable invalide: commencer avec un nombre n’est pas
autorisé
$_var; //nom de variable valide $état; //nom de variable valide
$éta+; //nom de variable invalide: les caractères spéciaux comme + ne sont pas
autorisés &var Vat; //nom de variable invalide: l’espace n’est pas autorisé
?>
Variables prédéfinies
variable signification
$GLOBALS Référence toutes les variables disponibles dans
un contexte global
$_SERVER Variables de serveur et d'exécution
$_FILES Variable de téléchargement de fichier via HTTP
$argv Tableau d'arguments passés au script
$http_response_header En-têtes de réponse HTTP
$argc Le nombre d'arguments passés au script
$_COOKIE Cookies HTTP
$_REQUEST Variables de requête HTTP
$_GET Variables HTTP GET
$_POST Variables HTTP POST
$_SESSION Variables de session
$php_errormsg Le dernier message d'erreur
Les opérateurs d’affectation
• L'opérateur d'affectation le plus simple est le signe =
• Il signifie que l'opérande de gauche se voit affecter
la valeur de l'expression qui est à droite du signe égal.
Exemples :
<? php
$a = 2; //$a est maintenant égal à 2
$b = 3; //$b est maintenant égal à 3
$c = $a + $b; //$c est maintenant égal à 5 $d = $$c; //$d est maintenant égal à 5
$e = "Bonjour "; $e .= " les étudiants"; // affecte la valeur "Bonjour les étudiants" à la
variable e
$c += $a*2 // $c est maintenant égal à 9 de même que $d est maintenant égal à 9 ?>
Les types des données
Types Types Types
scalaires composés spéciaux
bool array resource
int object NULL
float callable
string iterable
Les opérateurs
Opérateurs arithmétiques :
$a + $b Addition Somme de $a et $b.
$a - $b Soustraction Reste de la différence de $b et $a.
$a * $b Multiplication Produit de $a par $b.
$a / $b Division Dividende de $a par $b.
$a % $b Modulo Reste de la division entiàre de $a par $b.
Opérateurs sur les chaînes :
$a = "salut ";
$b = $a . "à tous"; // maintenant $b contient "salut à tous"
Les opérateurs
Opérateurs Logiques :
Il existe deux versions des opérateurs logiques ET et OU, avec des précédences
différentes.
$a and $b Et Résultat vrai si $a ET $b sont vrais
$a or $b Ou Résultat vrai si $a OU $b est vrai (ou les deux)
! $a Résultat vrai si $a est faux, et réciproquement
$a && $b Et Résultat vrai si $a ET $b sont vrais
$a || $b Ou Résultat vrai si $a OU $b est vrai (ou les deux)
Les opérateurs
Opérateurs de Comparaison :
$a == $b Egal Résultat vrai si $a est égal à $b
$a != $b Différent Résultat vrai si $a est différent de $b
$a < $b Inférieur Résultat vrai si $a est strictement inférieur à $b
$a > $b Supérieur Résultat vrai si $a est strictement supérieur à $b
$a <= $b Inf ou égal Résultat vrai si $a est inférieur ou égal à $b
$a >= $b Sup ou égal Résultat vrai si $a est supérieur ou égal à $b
Les structures de controle
L’instruction if else :
• Si l'expression vaut true, PHP exécutera l'instruction et si elle vaut
false, l'instruction sera ignorée.
• Les instructions après le else ne sont exécutées que si l'expression du if est false
Exemples :
if (expression)
Commandes
else
commandes
Les structures de controle
L’instruction elseif :
• L'expression elseif est exécutée seulement si le if précédent et tout autre elseif
précédent sont évalués comme false, et que votre elseif est évalué à true.
• Le « elseif » et « else if » sont traités de la même façon .
Exemples : if (expression)
Commandes
elseif (expression)
Commandes
elseif (expression)
commandes
elseif (expression)
Commandes
else
commandes
Les structures de controle
L’instruction switch :
• L'instruction switch équivaut à une série d'instructions if.
• Un cas spécial est default. Ce cas est utilisé lorsque tous les autres cas ont échoué.
• PHP continue d'exécuter les instructions jusqu'à la fin du bloc d'instructions du switch, ou bien dès qu'il
trouve l'instruction break.
• Dans une commande switch, une condition n'est évaluée qu'une fois, et le résultat est comparé à
chaque case.
Exemples : <?php
switch ($i) {
case 0:
echo "i égal 0";
break;
case 1:
echo "i égal 1";
break;
case 2:
echo "i égal 2";
break;
default:
echo "i n'est ni égal à 2, ni à 1, ni à 0.";
}
?>
Les structures de controle
L’instruction while :
• PHP exécute l'instruction tant que l'expression de la boucle while est évaluée comme true. Si
l'expression du while est false avant la première itération, l'instruction ne sera jamais exécutée.
Exemples : while (expression)
Commandes
endwhile
L’instruction do-while :
•La principale différence par rapport à la boucle while est que la première itération de la boucle
do-while est toujours exécutée.
Exemples :
do
commandes
while (expression);
Les structures de controle
L’instruction for :
• expr1 : est évaluée (exécutée), au début de la boucle.
• expr2 : est évaluée, au début de chaque itération. Si l'évaluation vaut true, la
boucle continue et les commandes sont exécutées. Si l'évaluation vaut false,
l'exécution de la boucle s'arrête.
• expr3 : est évaluée (exécutée), à la fin de chaque itération. • Les expressions
peuvent éventuellement être laissées vides ou peuvent contenir plusieurs
expressions séparées par des virgules.
Exemples :
for (expr1; expr2; expr3)
commandes
Les structures de controle
L’instruction break :
• L'instruction break permet de sortir d'une structure for, foreach, while, dowhile ou switch.
• break accepte un argument numérique optionnel qui vous indiquera combien de structures emboîtées
doivent être interrompues.
Exemples : <?php
$i = 0;
while ($i++) {
switch ($i) {
case 5:
echo "At 5<br />\n";
break 1; /* Termine uniquement le switch. */
case 10:
echo "At 10; quitting<br />\n";
break 2; /* Termine le switch et la boucle while. */
default:
break;
}
}
?>
Les structures de controle
L’instruction continue :
• L'instruction continue est utilisée dans une boucle pour contourner l'instruction de
l'itération actuelle et poursuivre l'exécution sous la condition évaluée, en commençant
l'itération suivante.
• continue accepte un argument numérique optionnel qui vous indiquera combien de
structures emboîtées doivent être interrompues.
• La structure continue s'applique aux structures switch et se comporte de la même
manière que break.
Exemples : <?php
for ($i = 0; $i <= 10; ++$i) {
if ($i % 2=0)
continue;
print "$i\n"; // Affiche : 0 2 4 6 8 10
}
?>
Les tableaux
• Les tableaux sont importants en PHP.
• les fonctions liées aux bases de données retournent
plusieurs valeurs sous la forme de tableaux.
• Il est donc particulièrement intéressant de bien maitriser
les tableaux en PHP.
• Il existe deux types de tableaux.
Tableaux indexés ou simples :
Un tableau indexé contient des indices numériques qui indexent le
contenu souhaité. Ces indexes commencent par défaut de 0 et
s'incrémentent de 1 à chaque fois.
Exemples :
$note=array("10", "15", "20");
echo $note[0]; // resultat = "10"
echo $note[1]; // resultat = "15"
echo $note[2]; // resultat = "20"
Les tableaux
Tableaux associatifs :
• Un tableau associatif est un tableau dont l'index est une
chaîne de caractère au lieu d'un nombre.
• Un tableau associatif contient des clés qui sont des chaînes de
caractères.
Exemples :
$note=array("cle1"=> 10,"cle2"=> 15, "cle3"=> 20);
echo $note["cle1"]; // resultat = "10"
echo $note["cle2"]; // resultat = "15"
echo $note["cle3"]; // resultat = "20"
les tableaux
Fonction sur les tableaux
fonctions signification
Sépare un tableau en tableaux de taille inférieure
array_chunk
array_diff_key Calcule la différence de deux tableaux en
utilisant les clés pour comparaison
array_diff_key Calcule la différence entre des tableaux
array_fill_keys Remplit un tableau avec des valeurs, en
spécifiant les clés
array_key_first Récupère la première clé d'un tableau
array_merge Fusionne plusieurs tableaux en un seul
array_search Recherche dans un tableau la première clé
associée à la valeur
Transmission de variables :
Transmission avec un formulaire
formulaire serveur
visiteur
Gestion des infos
formulaire fournies par le
présentable formulaire au
créé en HTML script côté
serveur en PHP
Transmission de variables (GET, POST):
• Exemple :on veut passer le nom et le prénom d'une personne à un programme
pour l'afficher sur une page web !On utilise un formulaire HTML on passe les
paramètres via un lien hypertexte (PHP).
• On peut passer les paramètres de deux façons soit en méthode POST ou GET
La méthode GET :
• Elle donne les valeurs des informations indiquées dans l'url.
• Les informations après le point d'interrogation ? d’une URL sont en
réalité des données que l'on fait transiter d'une page à une autre.
Exemples :
• Le site s’appel : lesite.com
• Ma page PHP de utilisateur : action.php
• Pour accéder à la page de l’utilisateur, l’URL sera
: http://www.lesite.com/action.php
• Pour envoyer les informations de l’utilisateur à la page php nous utiliserons :
http://www.lesite.com/action.php?nom=lhawzi&prenom=jamal
• Les paramètres sont séparé par le symbole &
Exemples de formulaire :
<form action="action.php" method="get">
<p>Votre nom : <input type="text" name="nom" /></p>
<p>Votre prénom : <input type="text" name="prenom" /></p>
<p><input type="submit" value="OK"></p>
</form>
• Quand l’utilisateur clique sur le bouton « OK », l’URL envoyé au serveur
sera visible par le visiteur dans la barre d’adresse comme ceci:
http://www.lesite.com/action.php?nom=lhawzi&prenom=jamal
• Le fichier « action.php » peut maintenant employer la variable super
globale $_GET pour récupérer les données du formulaire
Exemples : <?php
echo "Bonjour
$_GET["nom"] $_GET[“prenom"] et
bienvenue";
La méthode POST :
• transmet les informations du formulaire de manière masquée .
• La méthode POST est préférée lorsqu'il y'a un nombre important de
données à transmettre ou bienlorsqu'il faut envoyer des données
sensibles comme des mots de passe.
• La méthode POST n'est pas limitée en taille, en GET la taille est limitée,
donc des formulaires trop riches ne fonctionneront pas ! De plus si on
imagine une application avec mot de passe, la
Exemples de formulaire :
<form action="action.php" method="post">
<p>Votre nom : <input type="text" name="nom" /></p>
<p>Votre prénom : <input type="text" name="prenom" /></p>
<p><input type="submit" value="OK"></p>
</form>
Exemples :
<?php
echo "Bonjour
$_POST["nom"] $_POST[“prenom"] et
bienvenue";
?>