Principe

Pour la suite des exercices, nous allons utiliser un formulaire.

On présente ici le principe de récupération des données et leur utilisation.

ExemplePrincipe

Dans le dossier formulaire, ajoutez le fichier exemple1.php

Dans l'exemple, nous avons un formulaire qui attend la saisie d'un prix.

Au moment de la soumission du formulaire une remise de 10% est effectuée sur le prix.

Ce résultat est affiché dans le champ résultat.

1
<?php
2
$prix = $_POST["prix"] ?? 0;
3
$resultat = $prix * 0.9;
4
?>
5
6
<form action="" method="post">
7
8
    <button type="submit">Soumettre</button>
9
10
    <p>Affiche un prix avec une remise</p>
11
12
    <span>Prix</span>
13
    <input type="text" name="prix" value="0" />
14
15
    <span>Résultat</span>
16
    <input type="text" value="<?= $resultat ?>" readonly />
17
18
</form>

Explications

1
$prix = $_POST["prix"] ?? 0;

$_POST est un tableau interne à PHP. Il contient l'ensemble des données envoyées par la méthode POST d'un formulaire.

$_POST["prix"] contient la valeur du champ dont l'attribut name est prix.

$_POST["prix"] ?? 0; Si le tableau ne contient pas la clé prix, la variable $prix vaut 0.

En effet des données sont envoyées que lorsque vous cliquez sur le bouton de soumission.

La première fois que vous ouvrez la page aucune donnée n'a été saisie. $_POST["prix"] n'existe pas.

1
$resultat = $prix * 0.9;

La variable $resultat contient le prix avec une remise de 10%.

1
<form action="" method="post">

method : création d'un formulaire avec méthode post. Les données seront envoyées dans la variable de tableau $_POST.

action : contient le fichier qui reçoit les données. Quand action est vide ou absent, l'url du fichier appelé correspond à l'url du fichier sur lequel on se trouve.

c'est à dire, que l'on appelle le même fichier, ici exemple1.php.

1
<button type="submit">Soumettre</button>

Bouton de soumission

1
<input type="text" name="prix" value="0" />

Champ de saisie avec l'attribut name égal à prix. La variable $_POST contiendra la clé prix.

1
<input type="text" value="<?= $resultat ?>" readonly />

Champ d'affichage avec le contenu de la variable $resultat. Ce champ est en lecture seule.