Récupérer les données d’un formulaire en PHP

Les données d’un formulaire HTML peuvent être récupérées et traitées de différentes manières, par exemple :

  • En utilisant un langage de script tel que JavaScript, JQuery, etc.
  • En utilisant un langage côté serveur tel que PHP.

Dans ce tutoriel, nous allons voir comment récupérer les données d’un formulaire avec PHP, et les différentes méthodes qui peuvent être utilisées.
 
 

Création du formulaire HTML

Pour créer un formulaire pour la récupération des données, il faut spécifier deux attributs de formulaire importants qui contrôlent la façon dont les données du formulaire sont traitées chaque fois qu’elles sont soumises. Ces deux attributs de formulaire sont les suivants :

  • L’attributs « method »
  • L’attributs « action »
<form action="" method=""> ... </form>

 

  • L’attribut « action » : spécifie l’emplacement du script PHP à traiter lors de sa soumission. Si l’emplacement du script n’est pas spécifié, le navigateur soumet le formulaire en utilisant l’emplacement actuel du script PHP.
  • L’attributs « method » : précise le type de méthode que le formulaire utilisera pour envoyer les données. Nous avons deux méthodes, la méthode GET et la méthode POST.
Remarque : Par défaut, si aucune méthode n’est spécifiée, la méthode GET est utilisée.

 

Méthode d’envoi des données

Les navigateurs clients peuvent envoyer des informations à un serveur Web de deux manières différentes :

  • Méthode GET
  • Méthode POST
Différence entre GET et POSTDifférence entre GET et POSTLes requêtes HTTP POST ajoutent des données supplémentaires dans le corps du message d’un client (ou navigateur) envoyé à un serveur. En revanche, les requêtes…Lire plus  
 

Comment récupérer les données d’un formulaire envoyé via GET

Lorsque vous soumettez un formulaire avec la méthode GET, PHP fournit une variable superglobale, appelée $_GET. PHP utilise cette variable $_GET pour créer un tableau associatif avec des clés pour accéder à toutes les informations envoyées. La clé est créée en utilisant les valeurs des attributs « name ».

<input type="text" name="firstname" />

 

Exemple – Méthode GET:
Formulaire HTML
<form action="method-get.php" method="get">
    Nom :     <input type="text" name="nom" />
    Age :     <input type="text" name="age" />
    Adresse : <input type="text" name="adresse" />
    <input type="submit" name="submit" /> 
</form>

 

Script PHP
<?php
	 // Vérifier si le formulaire est soumis 
	 if ( isset( $_GET['submit'] ) ) {
		 /* récupérer les données du formulaire en utilisant 
		    la valeur des attributs name comme clé 
	     */
		 $nom = $_GET['nom']; 
		 $age = $_GET['age']; 
		 $adresse = $_GET['adresse'];
		 // afficher le résultat
		 echo '<h3>Informations récupérées en utilisant GET</h3>'; 
		 echo 'Nom : ' . $nom . ' Age : ' . $age . ' Adresse : ' . $adresse; 
		 exit;
	}
?>

La fonction PHP isset() est utilisée pour déterminer si une variable est définie et n’est pas nulle.

D’abord, la fonction isset() vérifie si le formulaire a été soumis en utilisant la valeur de l’attribut « name » de l’élément « submit » (name=’submit’) comme clé et passe la valeur à la variable superglobale $_GET[]. Ceci est dû au fait que les données du formulaire sont stockées dans le tableau superglobal $_GET[] par PHP lorsqu’elles sont soumises par la méthode GET.

Ensuite, les données du formulaire nom, age et adresse sont récupérées en utilisant la même méthode, en passant leurs valeurs respectives de l’attribut « name » dans le paramètre du tableau $_GET[‘name’], et chacune est assignée à un nom de variable qui a été utilisé pour afficher les résultats.

 
 

Comment récupérer les données d’un formulaire envoyé via POST

La méthode POST du formulaire envoie des informations via l’en-tête HTTP. Toutes les paires nom/valeur envoyées par cette méthode sont invisibles pour les autres personnes puisque toutes les informations sont intégrées dans le corps de la requête HTTP.

Lorsque vous soumettez un formulaire à un serveur via la méthode POST, PHP fournit une variable superglobale appelée $_POST. La variable $_POST est utilisée par PHP pour créer un tableau associatif avec une clé d’accès ($_POST[‘name’]). La clé est créée automatiquement par PHP lorsque le formulaire est soumis. PHP utilise l’attribut « name » de l’input du formulaire pour créer la clé.
 

Exemple – Méthode POST:
Formulaire HTML
<form action="method-post.php" method="post">
    Nom :     <input type="text" name="nom" />
    Age :     <input type="text" name="age" />
    Adresse : <input type="text" name="adresse" />
    <input type="submit" name="submit" /> 
</form>

 

Script PHP
<?php
	 // Vérifier si le formulaire est soumis 
	 if ( isset( $_POST['submit'] ) ) {
		 /* récupérer les données du formulaire en utilisant 
		    la valeur des attributs name comme clé 
	     */
		 $nom = $_POST['nom']; 
		 $age = $_POST['age']; 
		 $adresse = $_POST['adresse'];
		 // afficher le résultat
		 echo '<h3>Informations récupérées en utilisant POST</h3>'; 
		 echo 'Nom : ' . $nom . ' Age : ' . $age . ' Adresse : ' . $adresse; 
		 exit;
	}
?>

La ligne isset( $_POST['submit'] ) vérifie si le formulaire est soumis en utilisant la fonction isset(), mais ne fonctionne que si l’input a un attribut (name=’submit’).

Les données du formulaire sont stockées dans un tableau de variables $_POST[‘name’] puisqu’elles sont soumises par la méthode POST, et la valeur de l’attribut name de l’input (name=’adresse’) est utilisée pour accéder aux données des champs du formulaire. La même chose est utilisée pour $_POST[‘nom’] et $_POST[‘age’]. Les données du formulaire sont ensuite affectées à une variable qui a été utilisée pour afficher les résultats.
 
 

2 réflexions sur “Récupérer les données d’un formulaire en PHP

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *