diff --git a/BACKEND/PHP/tp2.tar.gz b/BACKEND/PHP/tp2.tar.gz new file mode 100644 index 0000000..a0ec6b8 Binary files /dev/null and b/BACKEND/PHP/tp2.tar.gz differ diff --git a/BACKEND/PHP/tp2/README.md b/BACKEND/PHP/tp2/README.md new file mode 100644 index 0000000..0358d85 --- /dev/null +++ b/BACKEND/PHP/tp2/README.md @@ -0,0 +1,101 @@ +# 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 + +```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/BACKEND/PHP/tp2/ex1/css/style.css b/BACKEND/PHP/tp2/ex1/css/style.css new file mode 100644 index 0000000..b299a7e --- /dev/null +++ b/BACKEND/PHP/tp2/ex1/css/style.css @@ -0,0 +1,3 @@ +form button{ +float:right; +} diff --git a/BACKEND/PHP/tp2/ex1/ex1.html b/BACKEND/PHP/tp2/ex1/ex1.html new file mode 100644 index 0000000..a06da8d --- /dev/null +++ b/BACKEND/PHP/tp2/ex1/ex1.html @@ -0,0 +1,43 @@ + + + + + + + Exercice 1 + + + +
+

Exercice 1

+ +
+
+ Qui êtes-vous ? + + + + +
+ +
+ Sexe + + + +
+ +
+
+ + diff --git a/BACKEND/PHP/tp2/ex1/ex1.php b/BACKEND/PHP/tp2/ex1/ex1.php new file mode 100644 index 0000000..da738cc --- /dev/null +++ b/BACKEND/PHP/tp2/ex1/ex1.php @@ -0,0 +1,31 @@ + + + + + + + + + + + +
+

+ +

+
+ + diff --git a/BACKEND/PHP/tp2/ex1/include/controller.php b/BACKEND/PHP/tp2/ex1/include/controller.php new file mode 100644 index 0000000..d8e50ed --- /dev/null +++ b/BACKEND/PHP/tp2/ex1/include/controller.php @@ -0,0 +1,2 @@ + Table de $nombre "; +for($i=1;$i<11;$i++){ + $resultat=$i*$nombre; + echo "
  • $i x $nombre = $resultat
  • "; +} +?> \ No newline at end of file diff --git a/BACKEND/PHP/tp2/ex2/multiplication.php b/BACKEND/PHP/tp2/ex2/multiplication.php new file mode 100644 index 0000000..098352d --- /dev/null +++ b/BACKEND/PHP/tp2/ex2/multiplication.php @@ -0,0 +1,21 @@ + + + + + + + + + + +
    +

    Table de multiplication

    +
    + + +
    +
    + + diff --git a/BACKEND/PHP/tp2/ex3/calculatrice.php b/BACKEND/PHP/tp2/ex3/calculatrice.php new file mode 100644 index 0000000..4b25cc4 --- /dev/null +++ b/BACKEND/PHP/tp2/ex3/calculatrice.php @@ -0,0 +1,32 @@ + + + + + + + + + + + + +
    +

    Calculatrice

    +
    +
    + + + + + + +
    + + diff --git a/BACKEND/PHP/tp2/ex3/css/style.css b/BACKEND/PHP/tp2/ex3/css/style.css new file mode 100644 index 0000000..539a218 --- /dev/null +++ b/BACKEND/PHP/tp2/ex3/css/style.css @@ -0,0 +1,6 @@ +input[type="text"], +select +{ +display:inline-block; +width:auto; +} diff --git a/BACKEND/PHP/tp2/ex3/include/controller.php b/BACKEND/PHP/tp2/ex3/include/controller.php new file mode 100644 index 0000000..1813586 --- /dev/null +++ b/BACKEND/PHP/tp2/ex3/include/controller.php @@ -0,0 +1,24 @@ + Le resultat est $resultat "; +} +if ($ope=="-"){ + $resultat=$nbr1-$nbr2; + echo "

    Le resultat est $resultat

    "; +} +if ($ope=="x"){ + $resultat=$nbr1*$nbr2; + echo "

    Le resultat est $resultat

    "; +} +if ($ope=="/"){ + if($nbr2==0){ + die("

    Division par 0

    "); + } + $resultat=$nbr1/$nbr2; + echo "

    Le resultat est $resultat

    "; +} +?> diff --git a/BACKEND/PHP/tp2/ex4/css/style.css b/BACKEND/PHP/tp2/ex4/css/style.css new file mode 100644 index 0000000..45f71e9 --- /dev/null +++ b/BACKEND/PHP/tp2/ex4/css/style.css @@ -0,0 +1,4 @@ +button{ + + float:right; +} diff --git a/BACKEND/PHP/tp2/ex4/quizz.html b/BACKEND/PHP/tp2/ex4/quizz.html new file mode 100644 index 0000000..ed84c20 --- /dev/null +++ b/BACKEND/PHP/tp2/ex4/quizz.html @@ -0,0 +1,57 @@ + + + + + + + + + + + +
    +

    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/BACKEND/PHP/tp2/ex4/score.php b/BACKEND/PHP/tp2/ex4/score.php new file mode 100644 index 0000000..a101757 --- /dev/null +++ b/BACKEND/PHP/tp2/ex4/score.php @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +

    Réponses

    + Question 1 :

    Bonne réponse

    "; + $score++; + }else{ + echo "
  • Question 1 :

    Mauvaise réponse

  • "; + } if($rep2=="vrai"){ + echo "
  • Question 2 :

    Bonne réponse

  • "; + $score++; + }else{ + echo "
  • Question 2 :

    Mauvaise réponse

  • "; + } if($rep3=="vrai"){ + echo "
  • Question 3 :

    Bonne réponse

  • "; + $score++; + }else{ + echo "
  • Question 3 :

    Mauvaise réponse

  • "; + } echo "

    Score : $score

    " + ?> +
    + + diff --git a/BACKEND/PHP/tp2/img/ex2.png b/BACKEND/PHP/tp2/img/ex2.png new file mode 100644 index 0000000..b27a0ab Binary files /dev/null and b/BACKEND/PHP/tp2/img/ex2.png differ diff --git a/BACKEND/PHP/tp2/img/ex3.png b/BACKEND/PHP/tp2/img/ex3.png new file mode 100644 index 0000000..6a88aff Binary files /dev/null and b/BACKEND/PHP/tp2/img/ex3.png differ diff --git a/BACKEND/PHP/tp2/img/ex4.png b/BACKEND/PHP/tp2/img/ex4.png new file mode 100644 index 0000000..a45d136 Binary files /dev/null and b/BACKEND/PHP/tp2/img/ex4.png differ diff --git a/BACKEND/PHP/tp2/img/ex41.png b/BACKEND/PHP/tp2/img/ex41.png new file mode 100644 index 0000000..845d409 Binary files /dev/null and b/BACKEND/PHP/tp2/img/ex41.png differ diff --git a/BACKEND/PHP/tp2/img/ex5.png b/BACKEND/PHP/tp2/img/ex5.png new file mode 100644 index 0000000..3fedba1 Binary files /dev/null and b/BACKEND/PHP/tp2/img/ex5.png differ diff --git a/BACKEND/PHP/tp2/img/ex51.png b/BACKEND/PHP/tp2/img/ex51.png new file mode 100644 index 0000000..737a6d8 Binary files /dev/null and b/BACKEND/PHP/tp2/img/ex51.png differ diff --git a/BACKEND/PHP/tp2/img/exo1.png b/BACKEND/PHP/tp2/img/exo1.png new file mode 100644 index 0000000..3daa04a Binary files /dev/null and b/BACKEND/PHP/tp2/img/exo1.png differ diff --git a/BACKEND/PHP/tp2/img/exo11.png b/BACKEND/PHP/tp2/img/exo11.png new file mode 100644 index 0000000..39b009f Binary files /dev/null and b/BACKEND/PHP/tp2/img/exo11.png differ