Cours de PHP Niveau 1
Cours de PHP Niveau 1
Cours de PHP Niveau 1
Wane
M.WANE
Ingénieur Informaticien/Formateur
Analyste, Concepteur
Développeur d'Application
Email:douvewane85@gmail.com
1
M.Wane
Objectifs
Comprendre la Communication Client –Serveur
Comprendre le Fonctionnement d’un site PHP
Etre Capable de Manipuler les Eléments du Langage PHP
Variables et Constantes
Structures de Controle
Fonctions
Tableaux
Chaines
Dates
Inclusion des Pages
PHP et Base De Donnes
Mysqli
PDO
Concevoir une Application avec le Pattern MVC
Prérequis conseillés:
Bonne connaissance du web
Connaitre au Préalable les langages
HTML surtout la version 5
CSS surtout la version 3 avec des outils tels que (Flex Box,
SASS et Bootstrap)
Liens utiles :
Description
Ce cours vous apprendra à aborder tous les aspects du langage PHP, depuis la
syntaxe jusqu'aux meilleures techniques de programmation. De nombreux
exemples facilitent la compréhension par l'expérience. Nous verrons également
d'autres aspects comme les méthodes de Test d'applications ainsi qu'une vision
globale de la communauté PHP.
2
M.Wane
Cours : 1
Objectifs
Comprendre la Communication Client –Serveur
Comprendre le Fonctionnement d’un site PHP
Etre Capable de Manipuler les Eléments du Langage PHP
Variables et Constantes
Structures de Contrôle
Une ressource du web est une entité informatique (texte, image, forum Usenet, boîte aux
lettres électronique, etc.) accessible indépendamment d’autres ressources. Une ressource en
accès public est librement accessible depuis Internet. Une ressource locale est présente sur
l’ordinateur utilisé, par opposition à une ressource distante (ou en ligne), accessible à travers
un réseau.
Une URL (pour Uniform Resource Locator) pointe sur une ressource. C’est une chaîne de
caractères permettant d’indiquer un protocole de communication et un emplacement pour
toute ressource du Web. (exemple : http://www.univ-chlef.dz).
Un hyperlien (ou lien) est un élément dans une ressource associé à une URL. Les hyperliens
du Web sont orientés : ils permettent d’aller d’une source à une destination.
3
M.Wane
Dans un mode de communication client-serveur, un serveur est un hôte sur lequel fonctionne
un logiciel serveur auquel peuvent se connecter des logiciels clients fonctionnant sur des hôtes
clients.
Un serveur Web est un hôte sur lequel fonctionne un serveur HTTP (ou serveur Web). Un
serveur Web héberge les ressources qu’il dessert.
Un navigateur Web est un logiciel client HTTP conçu pour accéder aux ressources du Web.
Sa fonction de base est de permettre la consultation des documents HTML disponibles sur les
serveurs HTTP. Le support d’autres types de ressource et d’autres protocoles de
communication dépend du navigateur considéré.
Une page Web (ou page) est un document destiné à être consulté avec un navigateur Web.
Une page Web est toujours constituée d’une ressource centrale (généralement un document
HTML) et d’éventuelles ressources liées automatiquement accédées (typiquement des
images).
Un éditeur HTML (ou éditeur Web) est un logiciel conçu pour faciliter l’écriture de
documents HTML et de pages Web en général.
Un site Web (ou site) est un ensemble de pages Web et d’éventuelles autres ressources, liées
dans une structure cohérente, publiées par un propriétaire (une entreprise, une administration,
une association, un particulier, etc.) et hébergées sur un ou plusieurs serveurs Web.
Une adresse Web est une URL de page Web, généralement écrite sous une forme simplifiée
limitée à un nom d’hôte. Une adresse de site Web est en fait l’adresse d’une page du site
prévue pour accueillir les visiteurs.
Une agence Web est une entreprise de services informatiques réalisant des sites Web pour ses
clients.
Un portail Web est un site Web tentant de regrouper la plus large palette d’informations et de
services possibles dans un site Web. Certains portails sont thématiques. Un service Web est
une technologie client-serveur basée sur les protocoles du Web.
4
M.Wane
5
M.Wane
2) Dialogue client-serveur
Pour dialoguer et se comprendre, une application cliente et une application serveur utilisent
un ensemble de règles communes (les protocoles) et suivent un modèle de communications
(OSI, TCP/IP, …).
6
M.Wane
7
M.Wane
On considère qu'il existe deux types des applications web : les sites statiques et les
sites dynamiques.
Fonctionnement
Fonctionnement
8
M.Wane
2) Un navigateur web : il permet de tester la page web. Vous pouvez utiliser par
exemple Mozilla Firefox, Internet Explorer, Google Chrome, Opéra, Safari, ou tout
autre navigateur auquel vous êtes habitués pour aller sur le web.
3) Apache : c'est ce qu'on appelle un serveur web. Il s'agit du plus important de tous
les programmes, car c'est lui qui est chargé de délivrer les pages web aux
visiteurs. Cependant, Apache ne gère que les sites web statiques (il ne peut
traiter que des pages HTML). Il faut donc le compléter avec d'autres programmes.
4) PHP : c'est un plug-in pour Apache qui le rend capable de traiter des pages web
dynamiques en PHP. En clair, en combinant Apache et PHP, notre ordinateur sera
capable de lire des pages web en PHP.
Une fois téléchargée, installez-le en laissant toutes les options par défaut. Il
devrait s'installer dans un répertoire comme C:\wamp et créer un raccourci
9
M.Wane
Une page web similaire à la capture de la figure suivante devrait s'ouvrir dans votre
navigateur favori (Firefox, par exemple). Si la page s'affiche chez vous, cela signifie
qu'Apache fonctionne.
10
M.Wane
11
M.Wane
De l’HTML
Du CSS (inline, interne ou externe)
Du JavaScript
Du PHP
12
M.Wane
Exemple
Exécution : http://localhost/tests/page1.php
<!DOCTYPE html>
<html>
<head>
</head>
<body>
<h2>Page de test</h2>
<?php
/* Encore du PHP
Toujours du PHP */
?>
</body>
</html>
Exemple :
13
M.Wane
III.3) Commentaires
Un commentaire est un texte que vous mettez pour vous(le développeur) dans le
code PHP. Ce texte est ignoré, c'est-à-dire qu'il disparaît complètement lors de la
génération de la page.
Les commentaires mono lignes est un commentaire sur une seule ligne est
représenté par deux slashs : «//».
Exemple
<?Php
echo " Mon nom est Diop."; // Cette ligne indique mon Nom
<?Php
/*
Cette ligne indique mon Nom
La ligne suivante indique mon âge
*/
echo " Mon nom est Diop et J'ai 42 ans.";
?>
III.4) Configurer PHP pour visualiser les Erreurs
Par défaut, PHP n'affiche pas les erreurs pour éviter de donner trop d'indications aux
utilisateurs pour des raisons de sécurité.
La configuration de PHP se fait dans un fichier appelé "php.ini". Pour connaitre
l'ensemble des informations relatives au PHP utilisé par le serveur web, il existe une
commande PHP phpinfo().
III.4) Variables
a) Définition
Une variable, c'est une petite information stockée en mémoire temporairement
14
M.Wane
b) Type de Variables
Résultat :
15
M.Wane
Remarques
1) Lorsqu’une variable ne contient rien, vous devez lui passer la valeur null ;
2) Les variables déclarées et initialisées dans un fichier ne sont visibles que dans ce
fichier, elles sont locales à ce fichier.
3) La concaténation permet de coller une chaine a une variable, elle se fait à l’aide
.
l’opérateur point( );
Exemple
<?php
//Déclaration et Initialisation
$nom= "Diop ";
$age= 42;
//Affichage avec Concaténation
echo 'Mon Nom est : '. $nom. 'Mon Age est'. $age;
?>
16
M.Wane
• $_SERVER : Les valeurs mises en place par le serveur Web (elles peuvent donc changer
d'une configuration à l'autre) ;
III.5) Constantes
Une constante est une valeur d’un type de variable, par exemple :
NB :
Il existe des "constantes magiques" qui n'obéissent pas totalement aux règles des
constantes. Elles existent dans tous les scripts sans qu'il soit nécessaire de les déclarer par
17
M.Wane
programmation. On ne peut bien entendu pas les modifier par programmation, néanmoins
leur valeur peut changer au fil de l'exécution du script.
Chacune de ces constantes contient une valeur qui change selon le contexte dans lequel elle
est appelée.
• __DIR__ : Le nom du répertoire du script en cours (depuis les versions 5.3 et 6.0 de PHP) ;
• __NAMESPACE__ : L'espace de noms en cours (depuis les versions 5.3 et 6.0 de PHP).
<?php
Résultat
//Déclaration et Initialisation
$nom= "Diop ";
$age= 42;
var_dump($nom) ;
?>
2) La fonction gettype() permet de déterminer le type d'une valeur, ou
get_resource_type() si c'est une ressource. Il existe également une fonction is_*()
spécifique pour chaque type.
18
M.Wane
+ - * / %
b) Les opérateurs d’affection et d’affectation composée :
= += -= *= /= .=
c) Les opérateurs d’incrémentation et de décrémentation
++ (a++ ou ++a)
-- (a -- ou -- a)
Exemple : <?php
echo 1==1 ? "Vrai" : "Faux" //Résultat
echo 1.0===1 ? "Vrai" : "Faux" //Résultat
echo 1.0==1 ? "Vrai" : "Faux" //Résultat ?>
19
M.Wane
Exercice 3
1) Ecrire un programme qui initialise un entier et un réel puis affiche
La somme
Le produit
Le quotient
2) Ecrire un programme qui initialise la longueur et la largeur d’un rectangle puis
affiche
Le Périmètre
La surface
La longueur d’un des Diagonales
Condition est une expression logique c’est retourne comme résultat true(1) ou
false(0).
Fonctionnent
Si la Condition est évaluée à TRUE, alors on rentre dans le bloc du if; sinon, on rentre dans la block
du "else" (qui est facultative).
20
M.Wane
Exercice d’application
1) Ecrire un programme qui saisit un nombre entier positif puis affiche son signe
2) Ecrire un programme qui saisit deux nombres entiers positifs puis les trie dans l’ordre
croissant
3) Ecrire un programme qui saisit le rayon d’un cercle puis détermine et affiche
La circonférence et l’aire du cercle.
Alternative "switch"
switch(expression){
case valeur1:
Instruction 1 ;
.
Instruction n;
break;
case valeur2:
Instruction 1 ;
.
Instruction n;
break;
...
default:
}
Nb :
Lorsqu'une variable ou une instruction peut prendre une valeur parmi une liste
connue, alors il est préférable d'utiliser le mot clef "switch" plutôt que des "if/else.
Le mot clef "break" oblige PHP à sortir du bloc switch
Exercice d’application
1) Ecrire un programme qui permet la sélection d’un mois en entier puis affiche sa
correspondance en chaine
Exercice 4
21
M.Wane
Exercice 5 : Ecrire un programme qui saisit trois nombres entiers positifs puis les trie dans
l’ordre croissant
NB : Dans ces deux exercices les valeurs sont entrées à l’aide d’un formulaire.
Exercice 6 : Ecrire un programme qui saisit un mois et une année puis détermine et affiche
le nombre de jours de ce mois dans cette année.
b) Structures itératives
Boucle "for"
Boucle "while"
Boucle "do while"....
Boucle foreach (sera vu avec les Tableaux)
22
M.Wane
1) Boucle "while"
Syntaxe
<?php
while (Condition)
{
// instructions à exécuter dans la boucle
}
?>
2) Boucle "for"
Syntaxe
<?php
for (initialisation; condition; incrémentation)
{
// instructions à exécuter dans la boucle
}
?>
3) Boucle "do while"....
Syntaxe
<?php
do{
// instructions à exécuter dans la boucle
} while (Condition) ;
?>
NB : Si la Condition est évaluée à TRUE, alors on reste dans la Boucle. Mais dès que la condition
évaluée est à false, on sort de la boucle.
Exercice d’application
1) Ecrire un programme qui permet la saisie d’un nombre entier positif puis affiche dans
une table HTML, la table de multiplication de ce nombre.
2) Ecrire un programme qui permet la saisie d’un nombre entier positif puis affiche dans
un span si le nombre est premier ou pas.
23
M.Wane
Exercice 7 :
Ecrire un programme qui permet la saisie d’un nombre entier positif puis affiche
dans une table HTML, toutes les tables de multiplication de 1 à ce nombre.
Exercice 8 :
Ecrire un programme qui permet la saisie d’un nombre entier positif puis affiche
dans tous les nombres premiers entre 1 et ce nombre dans des ul li.
Exercice 9:
Ecrire un programme qui permet la saisie d’un nombre entier positif puis affiche
dans un input text le factoriel de ce nombre.
Exercice 10:
Ecrire un programme qui permet la saisie deux nombres entier positifs puis affiche
dans un input text la puissance.
Exercice 11: Ecrire un programme qui saisit un mois et une année puis détermine
et affiche le nombre de jours de ce mois dans cette année
24
M.Wane
Cours : 2
Objectifs
Fonctions
Tableaux
Chaines
Dates
Inclusion des Pages
Une fonction est ce que l'on peut appeler un sous-programme, une procédure. On distingue
deux types de fonctions : les "fonctions intégrées" ou "built-in" qui sont incluses par défaut
avec les distributions de PHP comme print, echo et les fonctions définies par le
programmeur, dites aussi "fonctions utilisateur".
?>
25
M.Wane
Exemple :
1) Une fonction qui reçoit deux entiers en paramètres puis affiche la somme
Un tableau ou array est une variable contenant plusieurs valeurs. En PHP, les
variables étant faiblement typées, les tableaux sont très simples à manipuler.il existe
deux type de tableau en PHP :
Les Tableaux d’entiers ou numériques sont des tableaux dont les indices ou
clés sont entiers.
Les Tableaux associatifs sont des tableaux dont les indices ou clés sont des
chaines.
On accède au tableau en utilisant $nomTableau ["indice"]
Ce qui se situe entre les crochets est appelé "index" ou encore "clef" de l'élément
du tableau.
NB :
Un même index est unique dans un tableau.
III.9.1) Les Tableaux Numériques
Exemple :
a) Affectation d’un élément a un Tableau
b) La fonction print_r($nomTableau) est utilisé pour afficher un tableau
26
M.Wane
Remarque :
Dans un tableau Si une indice n’est pas spécifiée (comme ci-dessus) alors les indices seront
des valeurs numériques successives.
On peut voir ici que le premier élément d'un tableau prend l'index zéro, ce qui est tout à fait
habituel dans les langages de programmation.
27
M.Wane
28
M.Wane
Syntaxe:
//Traitement
Exemple
Exercice 13
Soit le Tableau d’entiers suivants : array (1,2, 1, 15, 6, 7, 19, 2, 5, 100, 101,10 ,75) ;
29
M.Wane
Exercice 13
30
M.Wane
Description du Projet:
je vous propose dans ce Projet de découvrir comment créer un système de compte
utilisateur en PHP.
Nous allons donc apprendre à créer :
31
M.Wane
PHP: Variables, Tableaux, Fonctions, chaines, cookies, Fonctions Utiles et inclusions de pages
32