Les formulaires en PHP

L'un des points forts de PHP est sa capacité à gérer les formulaires HTML. Le concepte est simple car tous les champs d'un formulaire seront automatiquement disponibles dans le script PHP d'action.

Lorsqu'un formulaire HTML est envoyé à un script PHP, toutes les variables du formulaire seront automatiquement disponibles dans le script. Pour récupérer les valeurs du formulaire HTML, PHP utilise des variables prédefinies ($_POST ou $_GET).
Ce sont des variable contenues dans des tableaux PHP qui portent toujours les mêmes noms.

Voir le fonctionnement des variables internes à PHP (SuperGlobales)

https://www.php.net/manual/fr/reserved.variables.php

Récupérer les données d'un formulaire HTML avec PHP

Il n'y a que deux façons d'accéder aux données provenant d'un formulaire HTML.

Création d'un formulaire HTML :

Le formulaire aura comme action d'appeler le fichier "foo.php" qui traitera les données du formulaire.
Il faut donc avoir créer un fichier "foo.php" sur votre serveur.

<form action="foo.php" method="post">
    Nom  :  <input type="text" name="username" /><br />
    Email: <input type="text" name="email" /><br />
    <input type="submit" name="submit" value="Envoie!" />
</form>

Accéder aux variables de formulaire

Voici le code PHP qui est contenu dans le fichier "foo.php".

<?php
echo $_POST['username']; //récupère la valeur du champ input name="username" si le formulaire est validé par la méthode POST
echo $_GET['username']; //récupère la valeur du champ input name="username" si le formulaire est validé par la méthode GET
?>

Exemple d'affichage des données de formulaire

Fichier PHP qui contient du code HTML pour structurer du texte écrit à la main mais aussi récupéré à l'aide de PHP.
C'est ce fichier que va construire le serveur WEB avec l'aide de PHP pour l'envoyer au navigateur internet avec uniquement du code HTML.


<h1>Affichage des données du formulaire</h1>

<div> Nom : <?php echo $_POST['nom'];  ?> </div>
<div> Prénom : <?php echo $_POST['prenom']; ?> </div>
<div> Email : <?=$_POST['email']?> </div>
<div> Adresse : <?=$_POST['adresse']?> </div>

Exercices

Exercice 1

Réaliser un formulaire html de saisie de coordonnées d'un client.

Le formulaire devra comporter les champs suivants :

La balise <form> du formulaire aura un attribut action='' qui restera vide. Ce qui rechargera votre page lors de la validation du formulaire.

Nous utiliserons la methode 'post' pour valider le formulaire

Exercice 2

Tester la validation de votre formulaire et le passage à PHP des valeurs du formulaire.
Pour cela il faudra simplement réaliser l'affiche de la variable PHP qui contient toutes les données du formulaire.