En HTML, un formulaire se créé avec le tag form
L'attribut action correspond à l'adresse de destination lorsque l'utilisateur va valider le formulaire
L'attribut method correpond à la méthode d'envoi des données
Exemple
<form action="#" method="post">
</form>
Les différents champs sont en général créés à l'aide d'inputs
Il existe des exceptions comme le select ou le textarea
Certains ne sont pas compatibles avec tous les navigateurs et l'affichage peut varier
Exemple
<form action="#" method="post">
<input type="text" name="text" value="Mon text">
<br>
<input type="password" name="password" value="password">
<br>
<input type="search" name="search" value="search">
<br>
<input type="color" name="color" value="#ff0000">
<br>
<input type="date" name="date" value="1990-01-17">
<br>
<input type="month" name="month" value="2014-03">
<br>
<input type="week" name="week" value="2014-W12">
<br>
<input type="time" name="time" value="10:25">
<br>
<input type="email" name="email" value="toto@tata.com">
<br>
<input type="tel" name="tel" value="+33631446033">
<br>
<input type="url" name="url" value="http://google.com">
<br>
<input type="number" name="number" value="1337">
<br>
<input type="checkbox" name="checkbox" value="1">
<br>
<input type="radio" name="radio" value="value">
<br>
<input type="range" name="range" value="60" max="100" max="20">
<br>
<input type="file" name="file">
<br>
<select name="select" multiple>
<option value="1">Toto</option>
<option value="2">Tata</option>
<option value="3">Tutu</option>
</select>
<br>
<textarea name="textarea" cols="30" rows="10">Mon text</textarea>
<br>
<input type="hidden" name="hidden" value="value">
<br>
<input type="reset" name="reset" value="reset">
<br>
<input type="submit" name="submit" value="submit">
</form>
Les différents champs peuvent être organisés dans des fieldsets
La balise fieldset va créer un cadre englobant les champs
La balise legend permet de rajouter un titre au fieldset
Exemple
<form action="#" method="post">
<fieldset>
<legend>Legend</legend>
<input type="text" name="name" value="value">
<input type="submit">
</fieldset>
</form>
La majorité des champs sont des inputs et ont plusieurs attributs
Un input peut-être accompagné d'un label
Si l'attribut for du label correspond à l'id de l'input, cliquer sur le label aura pour effet de cliquer sur l'input
Dans le cadre des inputs de types checkbox et radio, le label peut contenir l'input
Il n'est plus nécessaire de mettre le for et l'id
Il existe deux manière d'envoyer les données d'un formulaire, en GET et en POST
Pour les formulaires, il vaut mieux utiliser POST
En PHP il est possible de récupérer les données envoyées dans les variables $_POST ou $_GET selon la méthode d'envoi
Ce sont des tableaux associatifs
Les clés du tableau correspondent aux attributs name des champs
Les valeurs correspondent aux attributs value des champs
Exemple
<?php
echo '<pre>';
print_r($_POST);
echo '</pre>';
?>
<form action="#" method="post">
<input type="text" name="name" value="value">
<input type="submit">
</form>