Principe
Fondamental : Mé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 :
<form action='traitement.php' method='post'>
<div>
<label>variable1</label>
<input type='text' name='var1' />
</div>
<div>
<label>variable2</label>
<input type='text' name='var2' />
</div>
<div>
<label>Valider</label>
<input type='submit' value='valider'/>
</div>
</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éthode : Ré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 :
var_dump($_POST);
La page nous affichera le contenu des champs var1 et var2.
Si nous avions saisi bonjour et salut :
array(2) {
["var1"]=>
string(7) "bonjour"
["var2"]=>
string(5) "salut"
}
Remarque : Envoyer un tableau indexé
On peut envoyer des variables sous forme de tableau indexé :
<form action='traitement.php' method='post'>
<div>
<label>variable1</label>
<input type='text' name='var[]' />
</div>
<div>
<label>variable2</label>
<input type='text' name='var[]' />
</div>
</form>
Dans notre exemple, nous envoyons le tableau var qui contient deux cases.
Pour le traitement :
var_dump($_POST)
La page nous affichera le contenu du tableau var :
array(1) {
["var"]=>
array(2) {
[0]=>
string(7) "bonjour"
[1]=>
string(5) "salut"
}
}
Remarque : Envoyer un tableau associatif
On peut envoyer des variables sous forme de tableau associatif :
<form action='traitement.php' method='post'>
<div>
<label>variable1</label>
<input type='text' name='var[premier]' />
</div>
<div>
<label>variable2</label>
<input type='text' name='var[deuxieme]' />
</div>
</form>
Dans notre exemple, nous envoyons le tableau var qui contient deux cases : premier et deuxième
Pour le traitement :
var_dump($_POST)
La page nous affichera le contenu du tableau var :
array(1) {
["var"]=>
array(2) {
["premier"]=>
string(7) "bonjour"
["deuxieme"]=>
string(5) "salut"
}
}