Vous êtes sur la page 1sur 49

Formateur: Go Issa TRAORE

Mai 2023
Le langage PHP
PHP
PHP: Quoi?
Un des langages de création de page web dynamiques côté serveur.
Le PHP, est un langage qui vient se mettre au milieu du code HTML.
PHP
Qu’est-ce qu’un «script» PHP
C’est un fichier d’extension .php contenant du code PHP.
Tout code PHP doit être inclus dans une balise <?php... ?>.
PHP
PHP est un langage de programmation comme le C ou le Java, mais beaucoup plus simple
à apprendre et à utiliser, très adapté à la programmation Web. énormément de fonctions et de
scripts prêts à l’emploi (disponibles sur le Web)
Très utilisé pour la réalisation de sites web.
PHP
Syntaxe - les bases

Rappel: le code PHP doit être inclus dans une balise <?php ... ?> (sinon pas interprété).
Le code PHP se compose d’instructions séparées par des point-virgule; trois manières d’inclure
des commentaires :
 entre les signes « /* « et « */ « ;
 en commençant une ligne par « //»;
 en commençant une ligne par « # ».
PHP
Syntaxe - les bases
Variables
Variable = symbole référençant une valeur. syntaxe d’une variable: un $ suivi du nom.
Exemple: $adresse
une variable peut référencer des valeurs différentes au cours de l’exécution pas de variable typée
en PHP c’est-à-dire qu’une variable peut référencer un nombre, puis une chaîne, ... Pas de
déclaration de variable en PHP !
Attention: minuscules et majuscules. ($adresse et
$Adresse: deux variables différentes)
Affichage du contenu d’une variable:
<? php
$pseudo_du_visiteur = "Mateo21";
echo " Bonjour $pseudo_du_visiteur !";
?>
PHP
Les types PHP
Les entiers: 1, 2, 3, 12980
Les flottants: 3.14, 1.23, 2093.2988
Les booléens (TRUE ou FALSE)
Les chaînes de caractères (entre guillemets doubles)
Les tableaux et les objets
Typage très souple: PHP convertit le type en fonction de l’opération effectuée.

Rôle des types PHP


Essentiellement, PHP convertit le type d’une valeur en fonction de l’opération effectuée.
Si j’écris $a + $b, PHP convertira $a et $b en numériques.
Quelle que soit le type d’une valeur, on peut la transformer en chaîne de caractères.
PHP
<?
$nombre = 2 + 4; // $nombre prend la valeur 6
$nombre = 5 - 1; // $nombre prend la valeur 4
$nombre = 3 * 5; // $nombre prend la valeur 15
$nombre = 10 / 2; // $nombre prend la valeur 5
// on rajoute un peu de difficulté
$nombre = 3 * 5 + 1; // $nombre prend la valeur 16
$nombre = (1 + 2) * 2; // $nombre prend la valeur 6
?>
PHP
Les types PHP
Tableau = suite de valeurs référencées par un indice (tableaux indicés)
ou par une clé (tableaux associatifs)
La paire (indice, valeur) ou (clé, valeur) est un élément du tableau.
La taille des tableaux est dynamique: on ajoute des éléments à volonté.
PHP
Tableaux indicés
Syntaxe pour désigner un élément: le nom du tableau, puis des crochets indiquant la clé ou
l’indice.
$tab[0] = "élément 1 ";
$tab[1] = "élément 2 ";
$tab[2] = 120;
PHP peut affecter automatiquement les indices.
$tab[] = "élément 1 "; // $tab[0] !
$tab[] = "élément 2 "; // $tab[1] !
$tab[] = 120; // $tab[2] !
NB: les indices automatiques commencent à 0.
PHP
Tableaux associatifs
On doit donner explicitement la clé. Elle désigne de manière unique l’élément.
$mes["Houet"] = "Bobo-Dioulasso";
$mes["Kadiogo"] = "Ouagadougou";
$mes["Comoe"] = "Banfora";
Pour initialiser un tableau, on peut utiliser la commande array.
$tab = array ( "élément 1 ", "élément 2 ", 120)
$mes = array (" Houet " => " Bobo-Dioulasso ",
" Kadiogo " => " Ouagadougou ",
" Comoe " => " Banfora");
PHP
Tableaux multi-dimensionnels

Un élément est désigné par un ou plusieurs indices ou clés.


$tab[0][0] = "En haut à gauche";
$tab[0][1] = "En haut à droite";
$tab[1][0] = "En bas à gauche";
$tab[1][1] = "En bas à droite";
PHP
Expression et affectation
Expression: toute instruction qui produit une valeur.
$a + 3;
‘Mon nom est ‘ . $nom
A peu près toutes les instructions sont des expressions en PHP.
Affectation: on affecte le résultat d’un expression à une
$b = $a + 3;
PHP
Opérateurs arithmétiques
Classique : +, -, /, *, et % pour le modulo.
$a = 3; $b = 8;
$c = $a + 2 * $b;
$b = $a + 3;
PHP
Concaténation de chaînes
C’est le point " . "
$c1 = "Bonjour "; $c2 = "Dominique";
// Affichage de la chaîne
// "Bonjour cher Dominique"
echo $c1 . " cher " . $c2;
Pour ajouter un fragment à une chaîne:
$c = "Bonjour cher";
$c = $c . " Dominique"
ou encore la construction équivalente:
$c .= " Dominique"
PHP
Concaténation de chaînes
C’est le point " . "
$c1 = "Bonjour "; $c2 = "Dominique";
// Affichage de la chaîne
// "Bonjour cher Dominique"
echo $c1 . " cher " . $c2;
Pour ajouter un fragment à une chaîne:
$c = "Bonjour cher";
$c = $c . " Dominique"
ou encore la construction équivalente:
$c .= " Dominique"
PHP
Opérateurs de comparaison
Classique: <, >, <=, >=, sauf la comparaison: == (deux " = ")
Une erreur très courante:
$i = 1;
$j = 2;
// Renvoie FALSE: i est différent de j.
if ($i == $j) ...
// Renvoie la valeur de $j, soit TRUE ! if ($i = $j) ...
PHP
Structures de contrôle
Les tests if-then-else
if (expression)
{
// Bloc si expression est vraie.
} else {
// Bloc si expression est fausse.
}
// Ici le script continue.
PHP
Les tests if-then-else
Exemple de test
if ($a == 2) {
echo ‘La variable a vaut 2’•
} else {
if ($a == 3) {
echo ‘La variable a vaut 3’•
} else {
echo ‘La variable a ne vaut ni 2 ni 3’•
}}
PHP
Le while
Permet d’exécuter un bloc d’insructions tant qu’une condition est remplie.
while (expression) {
// Ici, expression est vraie.
}
Exemple:
$a = 0;
while ($a < 10) {
echo ‘a vaut $a’;
$a = $a + 1;
}
PHP
Le foreach
Permet de parcourir un tableau.
Tableau indicé:
foreach ($tableau as $valeur)
{ /* bloc */ }
Tableau associatif:
foreach ($tableau as $cle => $valeur)
{ /* bloc */ }
- chaque passage dans le bloc, $valeur contient la valeur de l’élément courant ($cle contient la clé
pour les tableaux associatifs).
PHP
Les fonction:
Sytaxe:
Function nomFonction(arg1, arg2, …., argn)
{
Corps de la fonction
}
PHP
Les fonction:
Exemple : Exemple : Calculer Le Volume D'Un Cône
 Le principe est le suivant : vous donnez le rayon et la hauteur du cône à la fonction, elle travaille et
vous renvoie le volume que vous cherchiez.
 Il faut connaître le rayon et la hauteur. Le calcul à faire pour trouver le volume est :
rayon * rayon * 3.14 * hauteur * (1/3)
PHP
Les fonctions:
<?php
function VolumeCone($rayon, $hauteur)
{ $volume=$rayon * $rayon * 3.14 * $hauteur * (1/3); // calcul du volume
return $volume; // indique la valeur à renvoyer, ici le volume
}
//Test de la fonction
$volume = VolumeCone(3, 1);
echo "Le volume d'un cône de rayon 3 et de hauteur 1 est de $volume";
?>+
Qu’est ce qu’une base de données ?

 Une Base de données est


 un ensemble volumineux,
 structuré et minimalement redondant de
données,
 reliées entre elles,
 stockées sur supports numériques
centralisés ou distribués,
 servant pour les besoins d'une ou
plusieurs applications,
 interrogeables et modifiables par un ou
plusieurs utilisateurs travaillant
potentiellement en parallèle.
Notion de langage de données
 Langage de données
Langage informatique permettant de décrire et de manipuler les
schémas d'une BD d'une manière assimilable par la machine.
 Exemple : SQL (Structured Query Language)
SQL est le langage orienté données consacré aux SGBD
relationnels et relationnels-objet.
Notion de langage de données
Un langage de données peut être décomposé en trois sous langages :
 Le Langage de Définition de Données
Le LDD [Langage de Définition de Données] permet d'implémenter le schéma conceptuel
(notion de table en SQL) et les schémas externes (notion de vue en SQL).
 Le Langage de Contrôle de Données
Le LCD [Langage de Contrôle de Données] permet d'implémenter les droits
que les utilisateurs ont sur les données et participe donc à la définition des schémas externes.
 Le Langage de Manipulation de Données
Le LMD [Langage de Manipulation de Données] permet l'interrogation et la mise à jour des
données. C'est la partie du langage indispensable pour exploiter la BD et réaliser les applications.
Notion de langage de données
 Exemple : Définition de données en SQL
create table Etudiant (
id Number (5),
nom Varchar (20),
prenom Varchar (20),
ville Varchar (20),
constraint Etudiant_PK primary key (id)
) ;.

Cette instruction permet de créer une relation "Etudiant" comportant les propriétés id, nom,
prenom, ville, et une contrainte de clé primaire sur id.
Notion de langage de données
 Exemple : Contrôle de données en SQL
GRANT ALL PRIVILEGES ON Etudiant TO TP_USER;

Cette instruction permet de donner tous les droits à l'utilisateur "TP_USER"


sur la relation "Etudiant".
Notion de langage de données
 Exemple : Manipulation de données en SQL
SELECT Nom
FROM Etudiant
WHERE Ville = ‘Banfora’;

Cette instruction permet de rechercher les noms de tous les étudiants habitant la ville de Banfora.
PHP: La Connexion a Mysql
Pour vous connecter, vous utiliserez une fonction PHP : mysql_connect.
Cette fonction a besoin de 3 arguments qu'il vous faudra renseigner :
•Le nom de l'hôte: c'est l'IP de l'ordinateur où MySQL est installé. Le plus souvent, MySQL est
installé sur le même ordinateur que PHP. Dans ce cas, mettez la valeur "localhost" et ça marchera.
•Le login: ça permet de vous identifier. Renseignez-vous auprès de votre hébergeur pour le
connaître.
•Le mot de passe
PHP: La selection d’une base de données
La fonction qui permet de sélectionner la BDD est : mysql_select_db
En temps normal, vous n'aurez besoin d'indiquer qu'un paramètre : le nom de la base.
Par exemple, si ma base s'appelle « securite », voici comment je dois procéder :
<?php
mysql_connect("localhost", "securite", « motDePasseBase"); // Connexion à MySQL
mysql_select_db(« securite"); // Sélection de la base mateo21
?>
PHP: La Déconnexion de la base
Une fois que vous vous êtes connectés, que vous avez choisi votre base de données, vous pouvez
commencer votre travail. Mais une fois que vous avez fini de travailler sur votre BDD, il faut vous
déconnecter !
Pour se déconnecter, utilisez la fonction : mysql_close
PHP: resumé de l’utilisation de ces trois fonctions
<?php
mysql_connect("localhost", "user", "password"); // Connexion à MySQL
mysql_select_db("mateo21"); // Sélection de la base mateo21
// On est connectés, on peut travailler sur la BDD
// ...
// ...
// On a fini de travailler, on ferme la connexion :
mysql_close(); // Déconnexion de MySQL
?>
PHP: Récupérer Les Données
Faire une requête:
Pour faire une requête, nous nous servons de la fonction PHP :
mysql_query
Syntaxe:
<?
$reponse = mysql_query("Tapez votre requête SQL ici");
?>

$reponse contiendra la réponse de MySQL.


PHP: Afficher Le Résultat D'Une Requête
$reponse contient quelque chose d'inexploitable
PHP dispose d'une fonction toute prête, mysql_fetch_array, qui va créer un array à partir de
$reponse.
Ce sera un tableau associatif : vous mettrez entre crochets le nom du champ qui vous intéresse.
Par exemple, si vous vous intéressez au champ "prenom", vous utiliserez l'array
$donnees[‘prenom'].
Il faudra faire une boucle pour parcourir chaque entrée une à une. A chaque fois que vous utilisez
la fonction mysql_fetch_array, vous passez à l'entrée suivante. La boucle est donc répétée autant
de fois qu'il n'y a d'entrées dans votre table.
Exemple à suivre
<?php
mysql_connect("localhost","root", ""); // Connexion à MySQL
mysql_select_db("coursphp"); // Sélection de la base coursphp
$reponse = mysql_query("SELECT * FROM jeux_video"); // Requête SQL
// On fait une boucle pour lister tout ce que contient la table :
while ($donnees = mysql_fetch_array($reponse) ) {
?>
<b>Jeu</b> : <?php echo $donnees['nom']; ?><br>
Le possesseur de ce jeu est : <?php echo $donnees['possesseur']; ?>, et il le vend à
<?php echo $donnees['prix']; ?> euros !<br>
Ce jeu fonctionne sur <?php echo $donnees['console']; ?> et on peut y jouer à
<?php echo $donnees['nbre_joueurs_max']; ?> au maximum<br>
<?php echo $donnees['possesseur']; ?> a laissé ces commentaires sur <?php echo
$donnees['nom']; ?>:
<i><?php echo $donnees['commentaires']; ?></i><p>
<?php
}
mysql_close(); // Déconnexion de MySQL
PHP: Exercice

Afficher uniquement les jeux de Patrick


PHP: Correction
<?php
mysql_connect( "localhost", "root", "");
mysql_select_db ("coursphp");
// Sélectionnons les champs nom et possesseur de la table "jeux_videos", uniquement lorsque le
jeu appartient à Patrick
$reponse = mysql_query("SELECT nom, possesseur FROM jeux_videos WHERE
possesseur='Patrick'");
while (
$donnees = mysql_fetch_array($reponse) )
{ ?>
<?php echo $donnees['nom']; ?> appartient à <?
echo $donnees['possesseur']; ?> <br>
<?php
} mysql_close ();
?>
PHP: Exercice
Compter le nombre d’enregistrement dans la base jeux_video
PHP: Correction
<?php
mysql_connect( "localhost", "root", "");
mysql_select_db ("coursphp");
// Combien d'entrées dans jeux_vidéos ?
$retour = mysql_query("SELECT COUNT(*) AS nbre_entrees FROM jeux_video");
$donnees = mysql_fetch_array($retour);
?>
Il y a <? echo $donnees ['nbre_entrees'];
?> jeux vidéos en vente !
mysql_close ();
?>
PHP: Ajouter Des Données dans la base
PHP: Ajouter Des Données dans la base

Pour rajouter une entrée, vous aurez besoin de connaître la requête SQL. En voici une par
exemple qui rajoute un champ :
INSERT INTO jeux_videos(ID, nom, possesseur, console, prix, nbre_joueurs_max,
commentaires) VALUES('', 'Battlefield 1942', 'Patrick', 'PC', '45', '50', '2nde guerre mondiale')
PHP: Ajouter Des Données dans la base

<?php mysql_connect("localhost", "root", "");


mysql_select_db("coursphp");

// On ajoute une entrée avec mysql_query


Echo " Insertion des données";
mysql_query("INSERT INTO jeux_videos VALUES(51, 'Battlefield 1942', 'Patrick', 'PC', 45,
50, '2nde guerre mondiale')");
Echo "</br>";
Echo " Insertion terminée";

mysql_close();
?>
PHP: Ajouter Des Données dans la base

<?php mysql_connect("localhost", "root", "");


mysql_select_db("coursphp");

// On ajoute une entrée avec mysql_query


Echo " Insertion des données";
mysql_query("Delete from jeux_video where ID=51");
Echo "</br>";
Echo " Insertion terminée";

mysql_close();
?>
PHP: les includes
La Fonction Include: include
Elle permet d'inclure le contenu d'une page PHP dans une autre page PHP.
Et c'est très utile ! Concrètement, supposons que sur votre site web il y ait un menu à gauche. Ce
menu est affiché sur toutes les pages de votre site. Jusqu'ici, vous deviez copier-coller ce menu
dans toutes les pages, et si vous deviez modifier le menu, il fallait modifier toutes les pages !
Grâce à l'include, vous dites à PHP sur chacune de vos pages : «

Mets ici le contenu de la page menu.php". PHP va alors "prendre" le contenu de la page menu.php et le
mettre là où vous lui avez dit. Ainsi, si vous voulez modifier votre menu, vous modifiez juste
menu.php et toutes les pages de votre site web sont automatiquement mises à jour !
PHP: les includes
Voici comment on fait pour inclure la page menu.php :
<?
include("menu.php");
?>
PHP: les includes

Vous aimerez peut-être aussi