Principe

FondamentalMéthode POST

En HTML, on peut transmettre des données selon la méthode POST.

C'est à dire séparer l'envoi des données de la requête faite au serveur.

Cet envoi se fait par l'intermédiaire des formulaires :

     
     
     
Interprétation de balises
1
<form action='traitement.php' method='post'>
2
<div>
3
  <label>variable1</label>
4
  <input type='text' name='var1' />
5
</div>
6
<div>
7
  <label>variable2</label>
8
  <input type='text' name='var2' />
9
</div>
10
<div>
11
  <label>Valider</label>
12
  <input type='submit' value='valider'/>
13
</div>
14
</form>

Ce formulaire contient deux champs variable1 et variable2 qui seront transmis au serveur.

L'attribut name précise le nom des variables transmises :

var1 et var2.

MéthodeRécupérer

C'est la page indiquée par l'attribut action qui reçoit les données (traitement.php).

Pour les récupérer, on utilise le tableau associatif $_POST[ ].

Dans notre exemple, si nous écrivons dans la page de traitement :

1
var_dump($_POST);

La page nous affichera le contenu des champs var1 et var2.

Si nous avions saisi bonjour et salut :

1
array(2) {
2
  ["var1"]=>
3
  string(7) "bonjour"
4
  ["var2"]=>
5
  string(5) "salut"
6
}

RemarqueEnvoyer un tableau indexé

On peut envoyer des variables sous forme de tableau indexé :

1
<form action='traitement.php' method='post'>
2
<div>
3
  <label>variable1</label>
4
  <input type='text' name='var[]' />
5
</div>
6
<div>
7
  <label>variable2</label>
8
  <input type='text' name='var[]' />
9
</div>
10
</form>

Dans notre exemple, nous envoyons le tableau var qui contient deux cases.

Pour le traitement :

1
var_dump($_POST)

La page nous affichera le contenu du tableau var :

1
array(1) {
2
  ["var"]=>
3
  array(2) {
4
    [0]=>
5
    string(7) "bonjour"
6
    [1]=>
7
    string(5) "salut"
8
  }
9
}

RemarqueEnvoyer un tableau associatif

On peut envoyer des variables sous forme de tableau associatif :

1
<form action='traitement.php' method='post'>
2
<div>
3
  <label>variable1</label>
4
  <input type='text' name='var[premier]' />
5
</div>
6
<div>
7
  <label>variable2</label>
8
  <input type='text' name='var[deuxieme]' />
9
</div>
10
</form>

Dans notre exemple, nous envoyons le tableau var qui contient deux cases : premier et deuxième

Pour le traitement :

1
var_dump($_POST)

La page nous affichera le contenu du tableau var :

1
array(1) {
2
  ["var"]=>
3
  array(2) {
4
    ["premier"]=>
5
    string(7) "bonjour"
6
    ["deuxieme"]=>
7
    string(5) "salut"
8
  }
9
}