0% ont trouvé ce document utile (0 vote)
26 vues22 pages

Cours PHP

Transféré par

Malek Khadrani
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)
26 vues22 pages

Cours PHP

Transféré par

Malek Khadrani
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

Web dynamique & PHP

Bouraoui Moutii
Département Technologies de l’Informatique

2023/2024 DSI 21/22/23/24


Plan du cours
• Introduction
• Que peut faire PHP?
• Structure d’un document PHP
• Syntaxe de base du langage PHP
– Commentaire
– Constantes
– Variables
– Opérateurs
– Tableaux
– Chaînes
• Structures de contrôle
– Structures Itératives
– Structures conditionnelles
– Structures de branchement
• Les fonctions
• Les fichiers
• PHP & MySQL
• Les formulaires
• Programmation Orientée Objet
• Les cookies
• Les sessions

ISET KEF 2
Introduction
• PHP "Hypertext Preprocessor" : est un langage de script HTML, exécuté coté
serveur.
• L'objet de ce langage est de permettre aux développeurs web d'écrire des pages
dynamiques rapidement.
• Le client ne reçoit que le résultat du script sans aucun moyen d'avoir accès au code
qui a produit ce résultat.
• Le navigateur se contente d’afficher les données qu’il reçoit du serveur et ceci selon
les attributs du client.
• Un code PHP est indépendant de la plateforme sur laquelle il tourne.
• Portabilité du code (en fonction du SGBD et la version de PHP)
• Plusieurs versions: PHP3, PHP4, PHP5,

ISET KEF 3
Que peut faire PHP?
• Les fonctionnalités du langage PHP:
– collecter des données,
– générer dynamiquement des pages web
– envoyer et recevoir des cookies.
• PHP supporte un grand nombre de bases de données.
– Les bases de données suivantes sont supportées par PHP:
• IBM DB2, MySQL, MS-SQL, Oracle (OCI7 et OCI8), PostgreSQL , Sybase, Unix dbm,…
Réaliser une page web dynamique interfaçant une base de donnés.
• Génération des fichiers PDF et des images
• Langage orienté objet
• Le langage PHP inclus le support des services utilisant les protocoles tels que IMAP, SNMP,
NNTP, POP3.
• Le support des sessions HTTP.

ISET KEF 4
Structure d’un document php
• Le code PHP se place toujours entre les balises <?php et ?>. Ce sont les plus simples, mais
vous auriez pu écrire également:
<? Code php ?>
ou
<script language="php">
code php
</script>
ou
<% echo(″exemple en PhP″) ; %>

Exemple: <?php echo "bonjour tout le monde "; ?>

• Un code php peut être facilement intégré dans un code html.


Exemple :
<html>
<body>
<center>
<?php echo "bonjour tout le monde "; //echo permet d’afficher du texte
?>
</center>
</body>
</html>

ISET KEF 5
Syntaxe de base du langage PHP
 La syntaxe du PHP est très proche de celle de la famille C (C, C++, Java, Perl, etc.)
 Une instruction est terminée par un point-virgule en fin de ligne.
• Commentaires:
• Tout bloc contenu entre /* et */ ne sera pas interprêté par PHP, sur une ou plusieurs
lignes.
• Tout ce qui suit // jusqu'au prochain retour à la ligne sera ignoré.

• Constante: Une constante est définie à l'aide de la fonction define()


Exemple: <?php define('CONSTANTE_1','une jolie constante');
echo CONSTANTE_1; ?>

• Les variables:
• Elles contiennent une valeur à un moment donné. Elles commencent nécessairement
par le signe dollar $ et possèdent certaines restriction dans les caractères qui peuvent
les composer.
• Ne mixez pas les majuscules et les minuscules
• Une variable est automatiquement déclarée dès qu’on lui affectez une valeur.
Exemple:
<?php $toto=5; $TOTO=4;
echo "$toto"; //5
echo "$TOTO"; //4 ?>

ISET KEF 6
Syntaxe de base du langage PHP
• Opérateurs:
Tous les opérateurs habituels, mathématiques ou de la logique booléenne, sont
existants.

o Opérateurs de calcul : +, -, *, /, %, =
o Opérateurs de comparaison : ==, <, <=, >, >=, !=
o Opérateurs associatifs : +=, -=, *=, /=
o Opérateurs logiques : && (ET) , || (OU)
o Opérateurs d’incrémentation : x++, x--

Noter l'utilisation de « . » comme concaténateur de chaîne (comme le + en java)

Exemple:
<?php $a = 5;
$b = "Hello "; $c = $b . "World!"; // $c = "Hello World!"
?>

ISET KEF 7
Syntaxe de base du langage PHP
• Les tableaux:
Un tableau en PHP peut contenir n'importe quel types d'éléments, de même nature ou non.
Ces éléments peuvent être adressés par un index numérique (notation indexée) ou par un nom
(notation associative).

Exemple :
<?php $tab[ ] =1; $tab[ ] =2;
echo $tab[0]; // 1
echo $tab[1] ; // 2
?>

Les fonctions sort() et rsort() permettent de trier un tableau par valeur croissante ou
décroissante;

ISET KEF 8
Syntaxe de base du langage PHP
• Chaines:
Une chaine peut être définie entre simples ou doubles quotes. Entre simples quotes,
elle ne sera pas interprêtée.

Exemple :
<?php $var=5;
echo '$var'; // $var
echo "$var"; // 5
?>

ISET KEF 9
Structures de contrôle
• Structures conditionnelles
– if(condition) {instructions} else {instructions }
– while(condition) {instructions}
– do {instructions} while (condition)
• Structures itératives: instruction for & while
Exemple :
<?php for ( $i = 1; $i <= 10 ; $i++ )
{
echo "$i ";
}
?>
• Les structures de branchement :
switch (expression) {
case resultat1 :
# instructions à exécuter si l’expression vaut resultat1...
break ;
case resultat2 :
# instructions à exécuter si l’expression vaut resultat2...
break ;
...
default :
# instructions à exécuter en dernier recours...
}
ISET KEF 10
Structures de contrôle
• Exemple:
<?php
$temps = "ensoleillé";
if($temps == "ensoleillé")
{
echo "Il fait beau";
}else{
echo "Il ne fait pas beau";
}
?>
• L'opérateur ternaire: Cette instruction est uniquement une simplification de
l'écriture if... else ....
Exemple:
<?php
$nombre =1;
echo ($nombre == 1) ? "$nombre est égal à 1" : "$nombre n'est pas égal à 1";
?>
ISET KEF 11
Les fonctions
• Syntaxe de la création d’une fonction:
function Nom_De_La_Fonction(argument1, argument2, ...)
{
liste d'instructions
}
Les "arguments" sont les paramètres que l'on passe à la fonction.

Exemple1:
<?php
function affiche_texte($qui, $texte)
{ echo "$texte $qui"; // on affiche le texte }
affiche_texte("Hamed","Bonjour") ;
?>

ISET KEF 12
Les fonctions
• PHP possède de nombreuses fonctions intégrées permettant d'effectuer des actions
courantes.
Exemple 1: afficher la date
<?php
$date = date("d-m-Y");
echo "<center>Bonjour nous sommes le : $date </center>";
?>

Exemple 2: Inclure le contenu d'un fichier dans une page html


- Créer un fichier texte qui contient la ligne suivante: « Copyright © 2009 PHP
ISET Kasserine. Tous droits réservés. »
- Enregistrer le fichier sous le nom copyright.txt. Le code php contient la ligne
suivante
<?php include("copyright.txt"); ?>
Exemple 3: les variables d’environnement
<?php
phpinfo();
?>
Exemple 4: Envoyer un mail avec la commande mail()
mail("adresse email destinataire","sujet","corps du message","options");

ISET KEF 13
Les fichiers
• La fonction de base est la fonction fopen(). C'est elle qui permet d'ouvrir un
fichier, que ce soit pour le lire ou y écrire. Sa syntaxe est :
entier fopen(chaine nomdufichier, chaine mode);
Exemple:
<php $fp = fopen("../fichier.txt","r"); //lecture
$fp = fopen("../fichier.txt","w"); /*ouverture en écriture seulement (la fonction crée le fichier
s'il n'existe pas) */
$fp = fopen("http://igalaxie.com/fichier.txt","a"); //écriture depuis fin du fichier
?>
• La fonction fputs() permet d'écrire dans le fichier.
booléen fputs(entier Etat_du_fichier, chaine Sortie);

• On utilise la commande fgets() pour récupérer les lignes du fichier, une par
une. La fonction feof() permet de tester si la fin du fichier n'a pas été
atteinte.
chaine fgets(entier Etat_du_fichier, entier Longueur);

• La fonction fclose() permet de fermer le fichier.


fclose(entier Etat_du_fichier);
ISET KEF 14
Les fichiers
Exemple 1: afficher le contenu d’un fichier
<?php
$fd = fopen ("texte.txt", "r");
while (!feof($fd))
{
$buffer = fgets($fd, 4096);
echo $buffer;
}
fclose ($fd);
?>

Exemple 2: écrire dans un fichier


<?php
$fd = fopen ("texte1.txt", "w");
fputs($fd,"bonjour tout le monde");
?>

ISET KEF 15
Les formulaires
Formulaire en HTML: formulaire.html Réponse en php: reponse.php
<html> <?php
<body> //Identifier les variables
<form method = "post" action="reponse.php"> $prenom = $_POST['prenom'];
Pr&eacute;nom : $name = $_POST['nom'];
<input type="text" name="prenom"> <br>
Nom : //Afficher les résultats du formulaire
<input type = "text" name = "nom"> <br> echo "bonjour $prenom $name";
<input type = "submit" value = "envoyer"> ?>
<input type = "reset" value = "annuler">
</form>
</body>
</html>

Notez qu’il est possible d’utiliser GET au lieu de POST. Pour la réponse en php on
utilise $_GET au lieu de $_POST.

ISET KEF 16
PHP & MySQL
• Les étapes d’intéraction de PHP avec une base de donnée sont les suivantes:
– Connexion au serveur des données et sélection de la base
Int new mysqli(serveur, nom utilisateur, mot de passe utilisateur, base de données);
Exemple :
– Requête:
int query($sql)
– Exploitation des requêtes
fetch_assoc() : Retourne un tableau associatif des éléments d’une table
mysqli_fetch_assoc(int résultat) : Retourne un tableau associatif des éléments
d’une table
mysqli_num_rows(int résultat) : Retourne le nombre de lignes d'un résultat
int num_rows : Retourne le nombre de lignes d'un résultat

– Fermeture de la base
mysql_close()

ISET KEF 17
PHP & MySQL
<?php
$serveur = "localhost";
$utilisateur = "root";
$motdepasse = "";
$basededonnee="isetk";
$table="etudiant";
///Se connecter au serveur et sélectionner la base de données
$conn = new mysqli ($serveur, $utilisateur , $motdepasse, $basededonnee);
// sélectionner la base de données

//saisir la requête
$q="select * from $table";
//exécuter la requête
$result = $conn->query($q);
//traiter le résultat de l’exécution et afficher les données de la base
while($tab = $result->fetch_assoc())
{
echo $tab["num"]." ".$tab["nom"]." ".$tab["prenom"]."<br>";
}
mysql_close();
?>

ISET KEF 18
Programmation Orientée Objet

• PHP intègre des notions de programmation orientée objet, c'est à dire vers la
possibilité d'utiliser des objets dans le code.
• Une classe est un ensemble de variables (attributs) et de fonctions (méthodes).
• L'accès aux attributs (variables) d'un objet se fait grâce au nom de l'objet, suivi
d'une flèche (->) représentée par un moins (-) et un signe supérieur (>), puis du nom
de la donnée membre (sans le signe $).
• De la même manière, l'accès aux méthodes (fonctions) d'un objet se fait par le nom
de l'objet, suivi d'une flèche et du nom de la méthode. La méthode est suivie de
parenthèses, contenant les paramètres, s'il y en a.
• Il existe une méthode spéciale (portant le même nom que la classe) s'exécutant
automatiquement lors de l'instanciation de l'objet. Cette méthode, appelée
constructeur, est très utile pour initialiser les données membres lors de
l'instanciation.
• PHP4 permet l’héritage avec Extends

ISET KEF 19
Programmation Orientée Objet
<?php
class informatique {
var $section, $niveau ;
var $nbreétudiants ;

function informatique($val1, $val2, $val3){


$this->section = $val1;
$this->niveau = $val2;
$this->nbreétudiants = $val3;
}

function affichage() {
printf("Le nombre d’étudiants de la section %s ",$this->section);
printf("niveau %s ",$this->niveau);
printf(" est %s étudiants, ",$this->nbreétudiants);
echo "<br>";
}
}
$inf=new informatique("IG","2",100); // une instance de la classe informatique
$inf->affichage(); //appel de la fonction affichage()
?>
ISET KEF 20
Les cookies
• PHP permet de gérer facilement les cookies.
• Les cookies permettent de stocker des informations dans de petits fichiers textes, sur votre disque, ce qui
offre deux intérêts : reconnaître le visiteur lors d'une visite ultérieure (statistiques, par exemple), et stocker
des informations temporaires que l'on souhaite transmettre de page en page (pour gérer une session, par
exemple).
• Création du cookie:
Pour utiliser les cookies, il faut tout d'abord en créer un. Pour cela, il suffit d'utiliser la fonction SetCookie,
avant d'envoyer du html (comme pour la fonction header).
booleen setcookie(chaine nom_du_cookie, chaine valeur, entier expiration, chaine chemin, chaine
domaine, entier securise);

– nom_du_cookie : C'est le nom de votre cookie, l'idéal est de choisir un nom explicite pour ne pas
interférer avec les autres cookies de votre site.
– valeur : Il s'agit de la valeur du cookie.
– Les arguments suivants servent à déterminer les conditions de validité du cookie.
– expiration : Détermine quand le cookie sera supprimé.
– chemin : Désigne le répertoire (et ses sous-répertoires) de votre site pour lequel le cookie est valide.
– domaine : Domaine sur lequel le cookie est valide. Cette valeur doit comporter deux points.
– securise : Si le cookie est envoyé par liaison sécurisée (https), la valeur doit être 1.
• Lecture des cookies: Les cookies disponibles sont automatiquement stockés dans le tableau
$HTTP_COOKIE_VARS.
• Suppression du cookie: Il arrive de vouloir supprimer certains cookies, par exemple, lors d'une session,
pour se déconnecter. Pour cela, il suffit de renvoyer le cookie grâce à la fonction setcookie() en spécifiant
uniquement l'argument nom_du_cookie.

ISET KEF 21
Les sessions
• Une session est en fait un fichier conservé sur le serveur et accessible à vos
scripts en fonction d'un identifiant généré à la création.
• Chaque fois qu'un de vos visiteurs génère une session, un identifiant lui est
attribué.
• chaque session est propre à un visiteur,
 on peut personnaliser nos scripts en fonction du visiteur

• Il existe plusieurs fonctions liées aux sessions, mais deux seulement sont
essentielles à leur fonctionnement et un tableau :
session_start(): Cette fonction sert à démarrer une session OU appeler la
session existante. Elle doit donc être présente sur toutes les pages de votre
site.
session_destroy(): Cette fonction détruit la session en cours. Mais elle ne
détruit pas les variables de sessions associées à la session courante. Nous
verrons plus loin comment détruire une session complètement et
proprement.
$_SESSION : Il s'agit du tableau global contenant toutes les variables de
sessions pour la session courante.
ISET KEF 22

Vous aimerez peut-être aussi