PAGES WEB DYNAMIQUES
4ÈME SCIENCES DE L’INFORMATIQUE
Systèmes &Technologies Informatiques
Lycée Habib Thamer Bizerte
I-INTRODUCTION
1- Définition
Un site Web dynamique est un site dont le contenu des pages est généré et modifié en
fonction d'une demande de l'utilisateur.
Les pages seront générées en temps réel à partir d’informations contenues dans des
bases de données en fonction d’interaction avec les utilisateurs.
Exemple : les sites de commerce électronique, les forums…
Le contenu peut être obtenu en combinant l'utilisation d'un langage de scripts (PHP)et une
base de données(MySQL)
I-INTRODUCTION
2- Principe de fonctionnement
Le navigateur envoie Le serveur web trouve Le serveur PHP trouve
l’url au serveur web que la page contient des des requêtes à une base
scripts PHP, donc il de données, donc il les
l’envoie au serveur PHP envoie au serveur de
pour exécuter ces base de données
scripts. (MySQL).
Le serveur de base de Le serveur PHP exécute Le serveur web renvoie
données renvoie les le code PHP et renvoie au client la page en
résultats des requêtes le résultat au serveur question.
au serveur PHP. web
II-ENVIRONNEMENT DE DÉVELOPPEMENT
Pour développer un site web dynamique, il faut installer un serveur web en local
pour tester les scripts PHP et un SGBD pour gérer la base de données.
Sous l'environnement Windows, on peut utiliser XAMP qui installe le logiciel
serveur web Apache, PHP, MySQL et aussi une interface d'administration
appelée : phpMyAdmin.
III- LE LANGAGE PHP
Définition
PHP est un langage de script :
➢ interprété coté serveur
➢ il peut être inséré à l’intérieur des pages HTML.
➢ spécifiquement dédié à la création dynamique de pages HTML
III-SYNTAXE DE BASE DU LANGAGE PHP
Les entrées/sorties:
➢ Pour Récupérer les données depuis un formulaire, on utilise $_GET['nom_objet'] ou $_POST['nom_objet']
suivant la méthode utilisée lors de la déclaration du formulaire
➢ Pour afficher le contenu d'une variable ou un message, on peut utiliser la méthode "echo"
<?php
$m='PHP’; $x=4; $y=5;
echo'Apprendre '. $m .'<br>';
echo $x + $y;
?> L'opérateur "." permet la concaténation des contenus des objets
Pour afficher un guillemet on le précède par « \ »
III-SYNTAXE DE BASE DU LANGAGE PHP
1- Les commentaires :
▪ une seule ligne : // ……………….
▪ plusieurs lignes : /*………………..*/
2- Imbrication de code HTML et PHP
Intégrer HTML dans
PHP
Intégrer PHP dans
HTML
IV- LES STRUCTURES DE DONNÉES
1- Les constantes:
Pour définir une constante, on fait appel à la fonction define ()
Exemple : define("PI", 3.14); echo PI;
2- Les variables:
Pour déclarer une variable, il suffit de la précéder par le signe $ et lui affecter une valeur
Exemple :
$txt = "Hello world!";
$x = 5;
$y = 10.5;
Remarque: Une constante ne doit pas être préfixée par $
IV- LES STRUCTURES DE DONNÉES
3- Les types d’objets : int Entier
float Réel
string Chaine de caractères
bool Booléen
array Tableau
4- Les opérateurs
IV- LES STRUCTURES DE DONNÉES
5- Les fonctions mathématiques:
Les fonctions mathématiques
abs() Retourne la valeur absolue
sqrt() Retourne la racine carrée.
round() Retourne la valeur arrondie.
rand() Retourne un nombre aléatoire.
rand(a,b) Retourne un nombre aléatoire entre a et b
IV- LES STRUCTURES DE DONNÉES
6- Conversion automatique:
7- Le transtypage en PHP
Le transtypage permet de convertir le type d’une variable dans un autre type explicite
$variable = (operateur_typage) valeur;
Les opérateurs de transtypages : (int) , (float), (string), (bool), (array)
Exemples :
IV- LES STRUCTURES DE DONNÉES
8- La fonction isset()
Permet de vérifier si une variable est vide. Egalement
si la variable est définie/déclarée.
Renvoie true si la variable existe et n'est pas NULL,
sinon elle renvoie false.
Remarque : Si plusieurs variables sont fournies,
cette fonction renverra true uniquement si toutes
les variables sont définies.
V- LES STRUCTURES DE CONTRÔLE EN PHP
1- les structures de contrôle conditionnelles
if (condition) { liste d'instructions }
if (condition) { …… } else { ……… }
if (condition) { …………} elseif (condition) {………………} ... else { ………………}
1- les structures de contrôle conditionnelles
switch (Variable) {
case Valeur1 :
Liste d'instructions
break;
case Valeur2 :
Liste d'instructions
break;
case Valeurs... :
Liste d'instructions
break;
default:
Liste d'instructions
break;
}
V- LES STRUCTURES DE CONTRÔLE EN PHP
2- les structures de contrôle itératives :
While(condition) { ……….;}
Do {……………..;} while(condition);
For(expr1;expr2;expr3) {………. ;}
VI- LES CHAINES DE CARACTÈRES
Une chaîne de caractères est une ensemble
de caractères entre guillemets simples ou
doubles.
Accès au caractère i dans la chaine
ch : $ch[i]
Les fonctions sur les
chaines de caractères:
VII- LES TABLEAUX
Il existe 2 types de tableaux :
a- Les tableaux nominatifs : à indice de type entier par défaut commençant par 0.
OU $villes=array(0=>'Paris', 1=> 'Londres',2=>'Tunis’);
Remarque
Il est possible de stocker des éléments de différents types dans un même tableau.
VII- LES TABLEAUX
b- Les tableaux associatifs : Utilisent des indices de types chaînes de caractères.
OU
c- Fonction sur les tableaux
count() elle permet de compter le nombre d'éléments dans un tableau.
VII- LES TABLEAUX
d- Parcourir un tableau
➢Pour parcourir un tableau associatif, on peut utiliser la boucle suivante:
While (list($key,$value)=each($nom_tab)){................ }
Exemple
$tab = array('Janvier'=>31, 'Février'=>28,'Mars'=>30);
While (list($key,$value)=each($tab)){
Echo "$key=$value <br>";
}
list: permet de rassembler les variables sous forme de tableau pour les assigner en une seule ligne.
Each :Retourne chaque paire clé/valeur d'un tableau
VIII- FONCTIONS DE DATE/HEURE
PHP ne gère pas les dates avec un type de donnée spécifique. Néanmoins, des dates peuvent être manipulées, soit sous la
forme d’une chaîne de caractères, soit sous la forme d’un horodatage( timestamp Unix : correspondant au nombre de
secondes écoulées depuis le 1er janvier 1970 01:00:00).
1- Fonction date()
Permet de retourner une date au format choisi. Soit la date du moment, soit une date en fonction d’un timestamp.
Exemple :
<?php
$date = date('Y-m-d H:i:s');
echo $date; // Affiche la date et l'heure actuelles au format 'AAAA-MM-JJ HH:MM:SS'
?>
VIII- FONCTIONS DE DATE/HEURE
Les caractères les plus couramment utilisés pour formater une date sont les suivants :
Caractère Signification
d Représente le jour du mois en deux chiffres (entre 01 et 31)
D Représente le jour de la semaine en 3 lettres (en anglais)
m Représente le mois de l’année en chiffres avec le zéro initial (de 01 à 12)
M Représente le mois en trois lettres en anglais (Jan, Feb…)
Y Représente l’année sur 4 chiffres (ex : 2023)
y Représente l’année sur 2 chiffres (ex : 23 pour 2023)
h Représente l’heure au format 12h (de 0 à 12)
H Représente l’heure au format 24h avec le zéro initial
i Représente les minutes avec le zéro initial
s Représente les seconds avec le zéro initial
VIII- FONCTIONS DE DATE/HEURE
2- Fonction time() retourne le nombre de secondes écoulées depuis le 1er janvier 1970 à 00:00:00 UTC.
Exemple :
<?php
$timestamp = time();
echo $timestamp; // Affiche le timestamp actuel
?>
3- Fonction strtotime() Permet de convertir une chaîne de caractères en timestamp
<?php
$timestamp = strtotime('2023-04-15'); // ou sous le format "15-04-2023'
echo $timestamp; // Affiche le timestamp correspondant à la date '2023-04-15
?>
4- Fonction checkdate(m ,j , a) permet de vérifier si une date est valide avec m , j et a des entiers
<?php
if (checkdate(2, 29, 2023)) { echo "La date est valide.";}
else {echo "La date est invalide.";}
?>
IX- LES FONCTIONS EN PHP:
Une fonction peut être définie en utilisant la syntaxe suivante :
function nom_fonction ($var1, $var2, …)
{ Instructions
return $résultat;
}
X-UTILISER MYSQL AVEC PHP
Etape 1 : Etablir une connexion à une base de données:
La fonction mysqli_connect() en PHP permet d'établir une connexion à une base de données MySQL. Elle prend au
minimum quatre paramètres :
Exemple :
$connexion=mysqli_connect("localhost","root","password","nomBD");
Le serveur (hostname)
sur lequel se trouve la
Le nom d'utilisateur pour Le nom de la base de
base de données,
se connecter, données à utiliser.
Le mot de passe de
l'utilisateur,
X-UTILISER MYSQL AVEC PHP
Etape 2 : Exécution d'une requête SQL
➔ On exécute une requête SQL avec la fonction mysqli_query().
➔ Elle envoie une requête SQL à la base de données
➔ La fonction retourne FALSE en cas d'échec (colonne ou table invalide, etc).
mysqli_query($connexion,$requete)
Exemple :
$connexion=mysqli_connect("localhost","root","password","nomBD");
$req="select id_message, sujet from FBmessage"
$result=mysqli_query($connexion,$req);
La requête peut être de n'importe quel type (sélection, mise à jour, suppression, etc)
Etape 3 : Exploitation des résultats d'une requête SQL
▪ Pour afficher les résultats on utilise: mysqli_fetch_array ( )
▪ Elle prend au minimum un paramètre : une ressource résultat (résultat de mysqli_query).
▪ Elle retourne une ligne de résultat sous forme d'un tableau associatif, d'un tableau indexé ou les deux.
Dans le cas du tableau associatif , l'index du tableau est le nom du champ correspondant à la colonne dans la table .
Dans un tableau indexé, les colonnes sont numérotées à partir de zéro.
Remarque :
Notez que mysqli_fetch_array() ne retourne qu'une seule ligne de résultat à la fois. Pour passer à la suivante, il faut
exécuter la fonction à nouveau. Elle retournera FALSE quand il n'y aura plus de lignes à lire.
Voici comment récupérer tous les résultats d’une requête select:
$result=mysqli_query($connexion,"select sujet,texte from FBmessage");
while ($tab=mysqli_fetch_array($result)){echo $tab['sujet'].'|'.$tab['texte’];}
// affiche les champs sujet et texte
X-UTILISER MYSQL AVEC PHP
Nombre de lignes retournées
Dans le cas d'un SELECT, le nombre d'enregistrements (lignes) retourné est obtenu avec la fonction
mysqli_num_rows($res).
Nombre de lignes affectées
Dans le cas d'un DELETE, INSERT ou UPDATE, on peut connaître le nombre de lignes affectées (modifiées) par la
dernière requête SQL à l'aide de la fonction mysqli_affected_rows($connexion).
Récupération des erreurs
En cas d'erreur lors d'une manipulation sur MySQL, on peut récupérer le message d'erreur par la fonction
mysqli_error($connexion).
Fermeture d'une connexion
On ferme une connexion à MySQL avec la fonction mysqli_close($connexion).