DY

DelahayeYourself

modules / S1103 /

TP16: PHP & les formulaires

Introduction

Les formulaires HTML sont la base de l'intéractivité sur les sites web moderne. De ce fait HTML & PHP sont intiment liés.

Formulaire HTML

<form method='POST' action=''>
</form>

Nos champs seront insérés entre les balises form mais avant de poursuivre la conception de notre formulaire revenons sur l'élément form. Celui-ci posséde deux attributs à connaitre: le verbe method et l'url cible action.

La méthode

Il existe deux (en réalité plus) méthodes pour envoyer les données du formulaire:

L'url cible

L'attribut action sert à définir la page appelée par le formulaire. C'est cette page qui recevra les données du formulaire et qui sera chargée de les traiter.

Les champs de formulaire

Dans un formulaire on peut insérer de nombreux champs de types différents:

Voici un simple formulaire pour envoyer notre nom

<form action="" method="POST">
    <input type="text" name="name" />
    <input type="submit" value="Send" />
</form>

Notez la présence d'un champ de type submit qui permet d'afficher un bouton d'envoi du formulaire.

Traitement côté serveur

Maintenant que notre formulaire côté HTML est prêt il est temps d'implémenter la gestion de celui-ci côté serveur.

Comme pour les variables de type GET, PHP créé automatiquement un array de valeur pour les variables POST à savoir $_POST, toutefois celui-ci n'est créé que si une requête post (un envoi de formulaire) est parvenue au serveur.

Pour ce faire il faut dans un premier temps vérifier que l'array $_POST existe:

<?php 
    if isset($_POST){
    }

Une fois cela fait nous pouvons récupérer les variables depuis notre formulaire et les afficher, par exemple:

<?php 
    if isset($_POST){
        if isset($_POST['name']){
            echo $_POST['name'];
        }
    }

Mise en oeuvre

Un exemple plus complexe: Les impots

On souhaite faire une page simple permettant à un utilisateur de calculer le montant de son impôt.

Calcul du nombre de part

parts = nbEnfants/2+1 (pas marié) parts = nbEnfants/2+2 (marié)

Calcul du revenu imposable (S est le salaire)

R = 0.72 * S

Calcul du quotient familial

Q = R / parts

Les tranches du barème sont les suivantes, appliquée au montant du quotient familial Q :

0 à 5614 5615 à 11198 11199 à 24872 24873 à 66679 66680 et plus
0% 5.5% 14% 30% 40%

Le montant de l’impot est alors remultiplié par le nombre de parts nbParts.