Matière : Gestion de base de données
Semestre : 5
Année Universitaire : 2023/2024
TP N°2 : PHP
Prérequis
Avant de commencer ce TP axé sur le langage PHP, vous devrez télécharger et lancer
USBwebserver, assurez-vous que les deux services Apache et MySQL sont démarrés
(Icône verte).
Exercice 1 :
1. Dans la fenêtre de USBWebserver, cliquez sur "Rootdir" afin d'accéder au
dossier racine du serveur.
2. Créez un fichier nommé "[Link]" et ouvrez-le à l'aide de Notepad++
3. Déclarez les variables suivantes :
▪ $produit1 avec la valeur "Espresso"
▪ $PrixU_1 avec une valeur de 35
▪ $quantite_1 avec une valeur de 5
▪ $produit2 avec la valeur "Cappuccino"
▪ $PrixU_2 avec une valeur de 40
▪ $quantite_2 avec une valeur de 3
4. Affichez un récapitulatif de chaque produit. Par exemple :
" Espresso : 35 DH x 5 = 175 DH".
5. Calculez et afficher le montant total du panier.
6. Créez une variable $codePromo et assignez-lui une valeur comme "ENCG2023".
7. Utilisez une instruction conditionnelle pour vérifier si le code promo est "
ENCG2023". Si c'est le cas, appliquez une remise de 10% sur le total du panier.
Pour lancer l’exécution du fichier [Link], il suffit d’ouvrir un nouvel onglet dans
votre navigateur favori et de renseigner l’adresse : [Link] .
Votre code PHP devra produire l'affichage suivant :
Exercice 2
Vous gérez un CoffeeShop spécialisé dans la vente de cafés préparés à partir de
capsules. Pour chaque café vendu, une capsule est utilisée. Vous démarrez avec un
stock initial de capsules et il est impératif de le réduire d'une unité à chaque
commande de café. Lorsque le stock est épuisé et atteint zéro, vous ne pouvez plus
servir de cafés.
1. Créez un fichier nommé "[Link]" et ouvrez-le à l'aide de Notepad++
2. Initialisez une variable $stock avec un nombre initial de capsules, par exemple
5.
3. Créez une variable $quantite qui contient le nombre de cafés commandés,
par exemple 8.
4. Utilisez une boucle for pour simuler chaque commande de café. À chaque
itération :
• Vérifiez si le stock est suffisant pour la commande. Si oui, affiche le
numéro du café servi ("Café 1 servi", "Café 2 servi"…) et diminuez le stock.
• Si le stock n'est pas suffisant, affichez un message indiquant qu'il y a une
rupture de stock.
• Votre code PHP devra produire l'affichage suivant :
5. Reprendre la question 4 en utilisant la boucle While.
Exercice 3
Dans le dossier RootDir, créez un nouveau fichier nommé “[Link]” et
ouvrez-le à l'aide de Notepad++.
1. Déclarez trois tableaux indicés pour représenter les éléments suivants d'une
commande :
$types_cafe : Les noms des produits commandés. Par exemple
"Espresso", "Cappuccino", "Latte"
$prix_unitaires : Le prix unitaire de chaque produit. Par exemple 35, 40,
25
$quantites : La quantité de chaque produit commandé. Par exemple : 2,
1, 3
2. À l'aide de la boucle for, parcourez les tableaux et pour chaque produit
(itération):
• Calculez le prix total du produit (quantité * prix unitaire).
• Affichez un récapitulatif de chaque produit. Par exemple :
" Espresso : 35 DH x 2 = 70 DH".
• Calculer et afficher le coût total de cette commande (Initialisez une
variable, par exemple $prix_commande, à zéro avant de démarrer votre
boucle. Cette variable servira à accumuler le coût de chaque produit.)
• Votre code PHP devra produire l'affichage suivant :
Exercice 4 :
Cet exercice a pour objectif de montrer comment on récupère des données
envoyées par un formulaire.
3. Dans le dossier RootDir, créez un nouveau fichier nommé “[Link]”
et ouvrez-le à l'aide de Notepad++
4. Ajoutez le code HTML suivant :
<form action="[Link]" method="post">
Nom Client :
<input type="text" name="nom" required>
<br>
Choisissez votre café :<br>
<input type="radio" name="type_cafe" value="Espresso" checked>
<label >Espresso</label><br>
<input type="radio" name="type_cafe" value="Cappuccino">
<label>Cappuccino</label><br>
Quantité :
<input type="number" name="quantite" min="1" value="1" required>
<br>
Code promo :
<input type="text" name="code_promo"><br>
<input type="submit" value="Commander">
</form>
5. Dans le dossier RootDir, créez un nouveau fichier nommé “[Link]” et
ouvrez-le à l'aide de Notepad++
6. À l'aide de la superglobale $_POST, récupérez les valeurs du formulaire :
▪ $nom : le nom entré par l'utilisateur.
▪ $type_cafe : doit contenir le type de café choisi (Espresso ou
Cappuccino)
▪ $quantite : doit contenir la quantité de café demandée.
▪ $code_promo : le code promo entré par l'utilisateur.
7. Calcul du coût total de la commande
▪ Si le type de café choisi est "Espresso", alors attribuer à la variable
$prix la valeur 35.
▪ Si le type de café choisi est "Cappuccino", alors attribuer à la variable
$prix la valeur 40.
▪ Calculez $total en multipliant le $prix par $quantité.
8. Application du code promo :
Si le code promo "COFFEE10" est fourni, appliquez une réduction de
10% au prix total.
9. Ajouter le code php qui permet d’obtenir l’affichage suivant :
10. Si on change la method d’envoi du formulaire (POST en GET), que faut-il
modifier dans le script PHP pour qu’il fonctionne ?