Vous êtes sur la page 1sur 4

Institut National des Técommunications

et des Technologies de l’information et de la Communication


Abdelhafid BOUSSOUF
Module : Conception et Développement WEB, 4eannée

TP N° 4 - Traitement des formulaires en PHP

Ce TP s’inspire de la pédagogie active où l’étudiant est censé être actif lors du processus
d’apprentissage. C’est pourquoi l’étudiant doit bien lire (et relire) les concepts abordés
ici et pratiquer les exemples et les exercices présentés.

PHP offre un ensemble de variables superglobales ($ GET, $ POST, et $ REQUEST)


pour récupérer les données envoyées via les formulaires. Ces variables sont pré-définies
et accessibles dans tout script. $ GET et $ POST sont des tableaux associatifs des valeurs
passées au script courant via les méthodes get et post respectivement. Dans ce TP, nous
étudierons le traitement des formulaire.

Exercice 1
— Voici un formulaire de la page ”Page4.php” (cette page est disponible sur moodle) :
< form action= " get_page4 . php " method= " get " >
< label for= " idnom " > Nom * < / label >
< i nput type= " text " name= " nom " id= " idnom " >
< label for= " idmail " > Mail * < / label >
< i nput type= " email " name= " mail " id= " idmail " >
< label for= " idtel " > T é l é phone * < / label >
< i nput type= " text " name= " tel " id= " idtel " >
< label for= " idmsg " > Message * < / label >
< textarea name= " msg " rows= "8" cols= "40"
id= " idmsg " > < / textarea >
< i nput id= " idsubmit " type= " submit "
value= " Envoyer " >
< / form >
— Quelle est la méthode d’envoi utilisée ?
— Ce formulaire sera traité par qui (quelle entité) ?
— Ci-dessous le script contenu dans la page ”get page4.php” :
< ? php
echo " Nom :". $ _GET [ ' nom ' ]." < b r > ";
echo " Mail :". $ _GET [" mail "]." < b r > ";
echo " T é l é phone :" , $ _GET [" tel "] , " < b r > ";
echo " Messgae : < p > ". $ _GET [" msg "]." < / p > < b r > ";
?>
— Expliquer les instructions du script.
— Créer la page ”get page4.php” et tester là.

M. BOUMEDIENE Page 1/4 TP N° 4 - 18 mars 2018


Institut National des Técommunications
et des Technologies de l’information et de la Communication
Abdelhafid BOUSSOUF

— Modifier ”Page4.php” pour que l’envoi du formulaire s’effectue à l’aide de la méthode


post.
— Créer la page ”post page4.php” qui traite la nouvelle ”Page4.php”.

Exercice 2
— Le corps de la ”Page4.php” a été modifié comme suit :
< b ody >
< ? php
$ nom = $ mail = $ tel = $ msg = "";
$ errnom = $ errmail = $ errtel = $ errmsg = "";
$ ftest = false ;
if ( isset ( $ _GET [" nom "]) ) {
if ( empty ( $ _GET [" nom "]) )
$ errnom = " Nom obligatoire ";
else {
$ nom = $ _GET [" nom "];
$ ftest = true ;
}
}

if ( isset ( $ _GET [" mail "]) ) {


if ( empty ( $ _GET [" mail "]) ) {
$ errmail = " Mail obligatoire ";
} else {
$ mail = $ _GET [" mail "];
$ ftest = true ;
}
}

if ( isset ( $ _GET [" tel "]) ) {


if ( empty ( $ _GET [" tel "]) )
$ errtel = " Telephone obligatoire ";
else {
$ tel = $ _GET [" tel "];
$ ftest = true ;
}
}

if ( isset ( $ _GET [" tel "]) ) {


if ( empty ( $ _GET [" msg "]) )
$ errmsg = " Message obligatoire ";
else {
$ msg = $ _GET [" msg "];
$ ftest = true ;
}
}
?>
< form action= " Page4 . php " method= " get " >

M. BOUMEDIENE Page 2/4 TP N° 4 - 18 mars 2018


Institut National des Técommunications
et des Technologies de l’information et de la Communication
Abdelhafid BOUSSOUF

< label for= " idnom " > Nom * < / label >
< i nput type= " text " name= " nom " id= " idnom " >
< ? php echo " $ errnom "; ? >
< label for= " idmail " > Mail * < / label >
< i nput type= " email " name= " mail " id= " idmail " >
< ? php echo " $ errmail "; ? >
< label for= " idtel " > T é l é phone * < / label >
< i nput type= " text " name= " tel " id= " idtel " >
< ? php echo " $ errtel "; ? >
< label for= " idmsg " > Message * < / label >
< textarea name= " msg " rows= "8" cols= "40"
id= " idmsg " > < / textarea >
< ? php echo " $ errmsg "; ? >
< i nput id= " idsubmit " type= " submit "
value= " Envoyer " >
< / form >
< ? php
if ( $ ftest ) {
echo " < h1 > Voici le contenu du formulaire < / h1 > ";
echo " Nom : $ nom < b r > ";
echo " Mail : $ mail < b r > ";
echo " T é l é phone : $ tel < b r > ";
echo " Messgae : < p > $ msg < / p > < b r > ";
}
?>
< / b ody >
— Expliquer en détails toutes les lignes des scripts.
— Reprendre les modifications et tester la nouvelle page ”Page4.php”.

Exercice 3
— Écrire un script PHP qui vérifie le nom d’utilisateur et le mot de passe envoyés via
la méthode post.

Exercice 4
— Réaliser une application web représentant une simple calculatrice.
— Cas 1 : l’utilisateur doit donner deux opérandes et choisir un opérateur via une liste
déroulante.
— Cas 2 : l’utilisateur doit donner deux opérandes et choisir un opérateur via les bou-
tons radio.

Exercice 5
Un permis de conduire à points remplace désormais le permis de conduire traditionnel.
Chaque conducteur possède au départ un capital de 12 points.

Pour chaque infraction commise, le conducteur perd des points. S’il commit un dépassement

M. BOUMEDIENE Page 3/4 TP N° 4 - 18 mars 2018


Institut National des Técommunications
et des Technologies de l’information et de la Communication
Abdelhafid BOUSSOUF

dangereux il perd 3 point, 5 points pour un non-respect des limitations de vitesse, 2 points
pour le non-port de la ceinture de sécurité et 1 pour la non-courtoisie au volant. De plus,
le conducteur doit s’acquitter d’une amende dont le montant est en fonction du nombre
de points perdus, 2 500 dinars pour chaque point perdu.

— Écrire un formulaire pour saisir la liste des infractions du conducteur et un script


PHP pour calculer le montant de l’amende à payer ainsi que le nombre de points
perdus.
— Si le conducteur perd tous ses points, il faut le mentionner, par exemple par le
message ”Vous avez perdu votre permis :)”.

M. BOUMEDIENE Page 4/4 TP N° 4 - 18 mars 2018