> $_GET et $_POST
- Auteur : Xethorn
- Publi?e : 01/01/2003
- Mise ?our le : 13/01/2004
La variable $GET
Jusqu'a maintenant, nous n'avions vu la variable $_POST dans un cours ant??ant.
La variable $_GET permet de r?upperer des variables en URL ou encore dans un formulaire en m?hode : "Get"
Voici un exemple (tir?du cours "Les 3 Exemples de Bases" chapitre 2) :
<?PHP
/* Empty permet de verifier si une variable est vide */
if(!empty($_GET['nom']) && !empty($_GET['prenom']) && !empty($_GET['couleur']) && !empty($_GET['metier']))
{
$message = 'Votre nom : '.$_GET['nom'].' <br>
Votre pr?om : '.$_GET['prenom'].' <br>
Votre couleur de cheveux : '.$_GET['couleur'].' <br>
Votre m?ier : '.$_GET['metier'];
}
?>
<!-- Le formulaire est en m?hode get et non post --> <form name="form1" method="get" action="">
<table width="100%" border="0" cellspacing="1" cellpadding="1">
<tr>
<td width="28%">Votre nom : </td>
<td width="72%"><input name="nom" type="text" id="nom"></td>
</tr>
<tr>
<td>Votre pr?om :</td>
<td><input name="prenom" type="text" id="prenom"></td>
</tr>
<tr>
<td>Votre couleur de cheveux : </td>
<td><input name="couleur" type="text" id="couleur"></td>
</tr>
<tr>
<td>Votre m?ier : </td>
<td><input name="metier" type="text" id="metier"></td>
</tr>
<tr>
<td colspan="2">
<div align="center">
<input type="submit" name="Submit" value="Envoyer">
</div>
</td>
</tr>
</table>
</form>
<?PHP
// On affiche un r?ultat si tout les champs sont remplis
echo $message;
?>
Comme vous pouvez le constater, l'on appelle le code php en haut avant le html. C'est ce qui permet de rendre un code plus propre et plus facile ? lire. L'utilisation des $_get et des $_post permet aux php d'agir plus rapidement et de ne pas chercher ? quel type de variable il a ? faire.
La variable $_POST
Exactement comme la variable $_GET, la variable $_POST permet de g??des r?ultats avec des formulaires, cette fois ci, de type Post
Voici le code php :
<?PHP
/* Empty permet de verifier si une variable est vide */
if(!empty($_POST['nom']) && !empty($_POST['prenom']) && !empty($_POST['couleur']) && !empty($_POST['metier']))
{
$message = 'Votre nom : '.$_POST['nom'].' <br>
Votre pr?om : '.$_POST['prenom'].' <br>
Votre couleur de cheveux : '.$_POST['couleur'].' <br>
Votre m?ier : '.$_POST['metier'];
}
?>
<!-- Le formulaire est en m?hode get et non post --> <form name="form1" method="post" action="">
<table width="100%" border="0" cellspacing="1" cellpadding="1">
<tr>
<td width="28%">Votre nom : </td>
<td width="72%"><input name="nom" type="text" id="nom"></td>
</tr>
<tr>
<td>Votre pr?om :</td>
<td><input name="prenom" type="text" id="prenom"></td>
</tr>
<tr>
<td>Votre couleur de cheveux : </td>
<td><input name="couleur" type="text" id="couleur"></td>
</tr>
<tr>
<td>Votre m?ier : </td>
<td><input name="metier" type="text" id="metier"></td>
</tr>
<tr>
<td colspan="2">
<div align="center">
<input type="submit" name="Submit" value="Envoyer">
</div>
</td>
</tr>
</table>
</form>
<?PHP
// On affiche un r?ultat si tout les champs sont remplis
echo $message;
?>
Dans ces deux cas, vous obtiendrez le m?e r?ultat ! Mais alors, quelle est la diff?ence entre $_POST et $_GET
$_POST vs $_GET
La fonction $_POST permet d'afficher, de traiter tout ce qui r?ulte d'un formulaire (uniquement !).
A l'inverse, la fonction $_GET ? plus d'options !
Elle permet de :
- R?uperer les valeur d'un enregistrement
- R?uperer des variables dans l'url
Je conseille plus l'utilisation de la variable : $_POST[] pour les formulaire et $_GET pour les url.
Format Zip
Mozilla est un regrouppement
de plusieurs outils dont : Firefox (navigateur qui 
