Créer la base du formulaire

En HTML, pour insérer un formulaire, on se sert de la balise <form>. On l'utilise de la manière suivante :

Code : PHP 

1

2

3

4

5

6

7

<form method="post" action="cible.php">

     

<p>

    On insérera ici les éléments de notre formulaire.

</p>

     

</form>


On écrira le contenu de notre formulaire entre les balises <form> et </form>. C'est de l' HTML/CSS, vous verrez qu'une bonne partie de ce chapitre ne sera composée que de ça puisque je vais vous expliquer comment on insère les champs du formulaire dans la page. Cependant, nous allons aussi découvrir comment traiter en PHP les données qui ont été envoyées par le visiteur.



Je souhaite attirer votre attention sur la toute première ligne de ce code. Il y a deux attributs très importants à connaître pour la balise <form> : la méthode (method) et la cible (action). Il est impératif que vous compreniez à quoi ils servent.


La méthode



Il faut savoir qu'il existe plusieurs moyens d'envoyer les données du formulaire (plusieurs « méthodes »). Vous pouvez en employer deux.

  • get : les données transiteront par l'URL comme on l'a appris précédemment. On pourra les récupérer grâce à l'array $_GET. Cette méthode est assez peu utilisée car on ne peut pas envoyer beaucoup d'informations dans l'URL (je vous disais dans le chapitre précédent qu'il était préférable de ne pas dépasser 256 caractères).
  • post : les données ne transiteront pas par l'URL, l'utilisateur ne les verra donc pas passer dans la barre d'adresse. Cette méthode permet d'envoyer autant de données que l'on veut, ce qui fait qu'on la privilégie le plus souvent. Néanmoins, les données ne sont pas plus sécurisées qu'avec la méthode GET et il faudra toujours vérifier si tous les paramètres sont bien présents et valides, comme on l'a fait dans le chapitre précédent. On ne doit pas plus faire confiance aux formulaires qu'aux URL.

C'est à vous de choisir par quelle méthode vous souhaitez que les données du formulaire soient envoyées. Si vous hésitez, sachez que dans 99 % des cas la méthode que l'on utilise est post, vous écrirez donc method="post" comme je l'ai fait.


La 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.

Imaginons le schéma de la figure suivante.

Appel de la page cible par le formulaire



Dans cet exemple, le formulaire se trouve dans la page formulaire.php. Cette page ne fait aucun traitement particulier, mais une fois le formulaire envoyé (lorsqu'on a cliqué sur le bouton « Valider »), le visiteur est redirigé vers la page cible.php qui reçoit les données du formulaire, comme vous le montre la figure suivante.

Fonctionnement d'un formulaire



Le nom de la page cible est défini grâce à l'attribut action.

La page cible ne doit pas forcément s'appeler cible.php. J'utilise ce nom dans mes exemples simplement pour que vous compreniez bien que c'est la page qui est appelée.
Remarquez qu'en théorie rien n'empêche le formulaire de s'appeler lui-même. Il suffirait d'écrire action="formulaire.php". Dans ce cas, la page du formulaire doit être capable aussi bien d'afficher le formulaire que de traiter les données. C'est tout à fait possible de le faire mais afin de ne pas compliquer les choses trop vite, on va éviter de faire comme ça ici. ;-)



Retenez donc bien que vous travaillez normalement sur deux pages différentes : la page qui contient le formulaire (formulaire.php dans notre exemple), et celle qui reçoit les données du formulaire pour les traiter (cible.php).

Créé avec HelpNDoc Personal Edition: Produire des livres Kindle gratuitement