diff --git a/TP/TP2/README.md b/TP/TP2/README.md new file mode 100644 index 0000000..2a34a96 --- /dev/null +++ b/TP/TP2/README.md @@ -0,0 +1,100 @@ +# TP 2 : Intéractions avec le client. Formulaires HTML et PHP. + + + +> On utilisera autant que possible les fonctions +[filter\_input](http://php.net/manual/fr/function.filter-input.php) ou +[filter\_var](http://php.net/manual/fr/function.filter-var.php) qui +permettent de valider le type (ou nettoyer) des entrées d'un formulaire +(entre autre). + +### Ex1. +Ecrire le script de traitement associé au formulaire (2 champs texte +pour le nom et prénom, deux boutons radio pour choisir le sexe) qui +affiche le message bonjour Monsieur ou bonjour Madame suivi du +prénom et du nom. + + + + +Faites en sorte que la première lettre (et elle seule) du prénom et +du nom soit en en majuscule. + +Vous pouvez utilisez les fonctions : +```php +string strtolower ( string $string ); +string ucfirst ( string $str ); +``` + +### Ex2. +Ecrire un (seul) script qui saisit dans un champs texte un entier et +qui affiche la table de multiplication correspondante lors de la +soumission. + +![](./img/ex2.png) + +### Ex3. +Ecrire une petite calculatrice permettant d'effectuer des +opérations arithmétiques élémentaires (+,x,-,/) sur deux opérandes. + +![](./img/ex3.png) +1. Première version : affichez un formulaire permettant, dans + l'ordre, de saisir la première opérande, puis dans une liste + (`SELECT`) l'opération, enfin de saisir la deuxième opérande. + Associez à ce formulaire le script effectuant le calcul et + affichant le résultat. +2. Assurez-vous qu'on ne puisse pas diviser par 0. +3. Deuxième version : après un calcul, réaffichez le formulaire en + proposant comme valeur par défaut de la première opérande le + résultat du calcul précédent. + +### Ex4. +Vous diposez du fichier html `quizz.html`. Pour chaque question, il +n'y a qu'une réponse exacte. On vous demande d'écrire le script +php de traitement des réponses qui affiche au joueur le résultat du +jeu : + +![](./img/ex4.png) +![](./img/ex41.png) + +Regardez-bien comment est structuré le quizz (nom des variables, +valeurs transmises, etc ). Cela doit vous permettre d'écrire un +script php qui s'adaptera automatiquement si on rajoute ou on +enlève des questions au quizz. + +Evidemment, il est très facile de tricher ! + +### Ex5. +Vous disposez du formulaire suivant : + +![](./img/ex5.png) + +- Un champ texte permet de saisir un verbe du premier groupe à + conjuguer. +- Des cases à cocher permettent de choisir les temps de + conjugaisons. + +Ecrire le script PHP qui receptionne les données **postées** par le +formulaire précédent, et qui affiche le verbe conjugué aux temps +choisis. + +![](./img/ex51.png) + +
+Conseils +
+Pour extraire le radical, vous pouvez utiliser la +fonction [substr](http://fr2.php.net/manual/fr/function.substr.php) + +```php +string substr ( string $string , int $start [, int $length ] ); +``` + +Vous pouvez également stocker dans un tableau associatif les +terminaisons possibles, ainsi que les pronoms personnels. + +```php +$terminaisons = array("present"=>array("e","es","e","ons","ez","ent"), ... +``` +
+
diff --git a/TP/TP2/ex1/css/style.css b/TP/TP2/ex1/css/style.css new file mode 100644 index 0000000..b299a7e --- /dev/null +++ b/TP/TP2/ex1/css/style.css @@ -0,0 +1,3 @@ +form button{ +float:right; +} diff --git a/TP/TP2/ex1/ex1.html b/TP/TP2/ex1/ex1.html new file mode 100644 index 0000000..c2e125d --- /dev/null +++ b/TP/TP2/ex1/ex1.html @@ -0,0 +1,42 @@ + + + + + + + Exercice 1 + + + +
+
+

Exercice 1

+
+
+ Qui êtes-vous ? + + + + + + + + + + +
+
+
+
+ + diff --git a/TP/TP2/ex1/ex1.php b/TP/TP2/ex1/ex1.php new file mode 100644 index 0000000..c31b888 --- /dev/null +++ b/TP/TP2/ex1/ex1.php @@ -0,0 +1,14 @@ + + + + + + + + + +

+ +

+ + diff --git a/TP/TP2/ex2/css/style.css b/TP/TP2/ex2/css/style.css new file mode 100644 index 0000000..ee25d45 --- /dev/null +++ b/TP/TP2/ex2/css/style.css @@ -0,0 +1,4 @@ +input[type="text"]{ +display:inline; +width:auto; +} diff --git a/TP/TP2/ex2/multiplication.php b/TP/TP2/ex2/multiplication.php new file mode 100644 index 0000000..6b81927 --- /dev/null +++ b/TP/TP2/ex2/multiplication.php @@ -0,0 +1,17 @@ + + + + + + + + + + + +
+ + +
+ + diff --git a/TP/TP2/ex3/calculatrice.php b/TP/TP2/ex3/calculatrice.php new file mode 100644 index 0000000..0bcfbab --- /dev/null +++ b/TP/TP2/ex3/calculatrice.php @@ -0,0 +1,34 @@ + + + + + + + + + +

Calculatrice

+
+ + + + + + + + + + + + + + + +
+ + diff --git a/TP/TP2/ex3/css/style.css b/TP/TP2/ex3/css/style.css new file mode 100644 index 0000000..539a218 --- /dev/null +++ b/TP/TP2/ex3/css/style.css @@ -0,0 +1,6 @@ +input[type="text"], +select +{ +display:inline-block; +width:auto; +} diff --git a/TP/TP2/ex4/css/style.css b/TP/TP2/ex4/css/style.css new file mode 100644 index 0000000..45f71e9 --- /dev/null +++ b/TP/TP2/ex4/css/style.css @@ -0,0 +1,4 @@ +button{ + + float:right; +} diff --git a/TP/TP2/ex4/quizz.html b/TP/TP2/ex4/quizz.html new file mode 100644 index 0000000..41a7be1 --- /dev/null +++ b/TP/TP2/ex4/quizz.html @@ -0,0 +1,48 @@ + + + + + + + + + + +

Quizz

+
+
+
Quelle est la capitale de la France ?
+ + + +
Quelle est le nombre suivant de la suite 1,2,4,8 ?
+ + +
La bataille de Marignan a eu lieu en
+ + + + + + + +
+
+ + diff --git a/TP/TP2/ex4/score.php b/TP/TP2/ex4/score.php new file mode 100644 index 0000000..09f81ec --- /dev/null +++ b/TP/TP2/ex4/score.php @@ -0,0 +1,16 @@ + + + + + + + + + + + +

Réponses

+ + + diff --git a/TP/TP2/ex5/conjuguer.php b/TP/TP2/ex5/conjuguer.php new file mode 100644 index 0000000..b1f0824 --- /dev/null +++ b/TP/TP2/ex5/conjuguer.php @@ -0,0 +1,24 @@ + array("e","es","e","ons","ez","ent"), +"futur" => array("erai","eras","era","erons","erez","eront"), +"imparfait" => array("ais","ais","ait","ions","iez","aient") +); +$pronoms=array("je","tu","il","nous","vous","ils"); +if (isset($_POST['verbe'])) $verbe = $_POST['verbe']; +?> + + + + + + + + + + + + + + + diff --git a/TP/TP2/ex5/css/style.css b/TP/TP2/ex5/css/style.css new file mode 100644 index 0000000..98648c5 --- /dev/null +++ b/TP/TP2/ex5/css/style.css @@ -0,0 +1,4 @@ +input[type="text"]{ +width:auto; + +} diff --git a/TP/TP2/ex5/ex5.html b/TP/TP2/ex5/ex5.html new file mode 100644 index 0000000..23aedbe --- /dev/null +++ b/TP/TP2/ex5/ex5.html @@ -0,0 +1,24 @@ + + + + + + + + + + +

Conjugaison

+
+
+ + + + + + + +
+
+ + diff --git a/TP/TP2/img/ex2.png b/TP/TP2/img/ex2.png new file mode 100644 index 0000000..c534571 Binary files /dev/null and b/TP/TP2/img/ex2.png differ diff --git a/TP/TP2/img/ex3.png b/TP/TP2/img/ex3.png new file mode 100644 index 0000000..2579bb3 Binary files /dev/null and b/TP/TP2/img/ex3.png differ diff --git a/TP/TP2/img/ex4.png b/TP/TP2/img/ex4.png new file mode 100644 index 0000000..2c86d00 Binary files /dev/null and b/TP/TP2/img/ex4.png differ diff --git a/TP/TP2/img/ex41.png b/TP/TP2/img/ex41.png new file mode 100644 index 0000000..0f2f73b Binary files /dev/null and b/TP/TP2/img/ex41.png differ diff --git a/TP/TP2/img/ex5.png b/TP/TP2/img/ex5.png new file mode 100644 index 0000000..76b723e Binary files /dev/null and b/TP/TP2/img/ex5.png differ diff --git a/TP/TP2/img/ex51.png b/TP/TP2/img/ex51.png new file mode 100644 index 0000000..7844392 Binary files /dev/null and b/TP/TP2/img/ex51.png differ diff --git a/TP/TP2/img/exo1.png b/TP/TP2/img/exo1.png new file mode 100644 index 0000000..ce456c7 Binary files /dev/null and b/TP/TP2/img/exo1.png differ diff --git a/TP/TP2/img/exo11.png b/TP/TP2/img/exo11.png new file mode 100644 index 0000000..32f2dac Binary files /dev/null and b/TP/TP2/img/exo11.png differ