Vous êtes sur la page 1sur 6

Ministère de l’Enseignement Supérieur et de la Recherche Scientifique

Université de Carthage
Institut Supérieur des Technologies de l’Information et de la Communication

Classe : LART-2 Examen: PHP Nombre de pages : 2 pages


Enseignante : Faiza DEBBICHE Date : Mardi 14 Mai 2019 Durée : 01h:30
Barème approximatif : 3, 7, 10 Documents : non autorisés Calculatrice : non autorisée

Exercice 1(3points)

Pour chaque cas de figures suivantes identifier la cause d’erreur d’exécution du code PHP

Cas 1 Code

Exécution

La page est consulté via l’explorateur


du fichier non à travers l’adresse IP du
serveur
Cas 2 Code

Exécution

Pas de balise PHP

Exercice 2 (7 points)
1. Créez un formulaire qui :

 Utilise la méthode POST


 Envoi les informations au script PHP « trait.php »
 Affiche une liste avec les noms des vendeurs suivants : M.Dupont, M.Louis, M.Martin et
M.Durand.
 Affiche une liste des produits suivants : Armoire, Bureau, Chaise, Table, Buffet, Fauteuil.
 Affiche une zone de texte pour saisir le nombre de produits à commander.

Page 1 sur 6
NB : Les deux listes sont à choix unique.

<html>

<head>

<title>Exercice 2</title>

</head>

<body>

<form method="POST" action=" trait.php ">

<P>Liste des vendeurs </P>

<select name="listeV">

<option value= "M.Dupont"> M.Dupont

<option value= "M.Louis "> M.Louis

<option value= "M.Martin "> M.Martin

<option value= " M.Durand "> M.Durand

</select> <br/>

<P>Liste des Produits </P>

<select name="listeP">

<option value= "Armoire "> Armoire

<option value= "Bureau "> Bureau

<option value= "Chaise "> Chaise

<option value= "Table "> Table


Page 2 sur 6
<option value= " Buffet "> Buffet

<option value= "Fauteuil "> Fauteuil

</select> <br/>

<P> Nombre des produits à commander : <input type="Number" name="nbre"></P>

<input type="submit" value="soumettre">

</form></body></html>

2. Ecrivez un script PHP « trait.php » permettant de récupérer et afficher le récapitulatif de la


demande (ex : vous avez commandé 10 armoires auprès de M. Durand.)

<html>

<head>

<title> Exercice 2</title>

</head>

<body>

<?php

$listeV=$_POST["listeV"];

$listeP=$_POST["listeP"];

$nbre=$_POST["nbre"];

echo "Vous avez commandé $nbre $listeP auprès de $listeV. "

?>

</body>

</html>

Page 3 sur 6
Exercice 3 (10points)
Sous MySQL, on dispose de la base de données nommée « Commandes_Clients_BD » suivante :

NB : Tous les champs sont de type varchar sauf les champs ‘paye’ et ‘livre’ sont de type booléen.

1. Écrire une page web en PHP nommée afficheCommandes.php qui affiche les 5 premières
commandes triées selon le champ date_cde par ordre décroissant (Utilisez un tableau HTML
pour l’affichage de leurs détails).
<?php

$conn = mysqli_connect("localhost", "root", "", "Commandes_Clients_BD ");

$result = mysqli_query($conn, "SELECT * FROM commandes ORDER BY date_cde DESC LIMIT 0, 5");

$html ="<table border ='1' align='center' >

<caption> Liste des commandes</caption>

<thead>

<tr>

<th>no_cde</th>

<th>date_cde</th>

<th>code_Client</th>

<th>paye</th>

<th>livre</th>

<th>id_vendeur</th>

</tr>

</thead>

";

echo "$html" ;

Page 4 sur 6
while (($row = mysqli_fetch_array($result)) != NULL) {

echo '

<tr>

<td>' . $row["no_cde "] . '</td>

<td>' . $row["date_cde "] . '</td>

<td>' . $row["code_Client "] . '</td>

<td>' . $row["paye "] . '</td>

<td>' . $row["livre "] . '</td>

<td>' . $row["id_vendeur "] . '</td>

</tr> ';

echo "</table> ";

// Fermeture de connection (optionnel)

mysqli_close($conn);

?>

2. Écrire une page web en PHP nommée afficheNombre.php qui affiche le nombre des
commandes livrés au client de code_client=’C005’.
<?php

$conn = mysqli_connect("localhost", "root", "", "Commandes_Clients_BD ");

$result = mysqli_query($conn, "SELECT COUNT(*) AS nbre FROM commandes where


livre='TRUE' and code_client='C005' ");

$donnees = mysql_fetch_array($result);

echo "Il y a $donnees[nbre] commandes livrés"

// Fermeture de connection (optionnel)

mysqli_close($conn);

?>

3. Écrire une page web en PHP nommée afficheClients.php qui affiche les noms des clients
n°10 à 15 triées selon le champ pre_cl .
<?php

$conn = mysqli_connect("localhost", "root", "", "Commandes_Clients_BD ");

$result = mysqli_query($conn, "SELECT nom FROM clients ORDER BY pre_cl LIMIT 9, 6");
Page 5 sur 6
while ($donnees = mysql_fetch_array($result) )

echo $donnees['nom'];

echo "<br />";

mysqli_close($conn);

?>

4. Écrire une page web nommée SupprimerClient.html qui affiche un formulaire permettant
de saisir un numéro d’un client. Lorsqu’on clique sur le bouton Supprimer du formulaire, on
appelle une page supprimer.php qui permet de récupérer le numéro de client envoyé par le
formulaire et supprimer le client des deux tables de la base de données.

SupprimerClient.html

<html>

<head>

<title> SupprimerClient</title>

</head>

<body>

<form method="POST" action=" supprimer.php ">

<P> numéro de client à supprimer <input type="text" name="code_client"></P>

<input type="submit" value="Supprimer">

</form></body></html>

supprimer.php

<?php

$code_client=$_POST['code_client'];

$conn = mysqli_connect("localhost", "root", "", "Commandes_Clients_BD ");

mysqli_query ($ conn, "DELETE FROM clients WHERE code_client= '$code_client' ");

mysqli_query ($ conn, "DELETE FROM commandes WHERE code_client= '$code_client' ");

mysqli_close($conn);

?>

Bon Travail
Page 6 sur 6