Récupérer les valeurs d'un formulaire envoyé par POST
Comment récupérer les données et valeurs d'un formulaire envoyé avec la méthode POST
Le principe
Lorsque l'on envoie des données avec un formulaire en PHP, il est bien évidemment possible de récupérer l'intégralité de ces données. Pour cela on interroge la variable $_POST qui retourne un tableau. On peut alors utiliser le code ci-dessous pour récupérer ET le nom des paramètres ET leur valeur.
Le code
<!DOCTYPE html>
<HTML lang="fr">
<HEAD>
<meta charset="utf-8" />
<SCRIPT TYPE="text/javascript">
function fctPostForm(MyObj){
//alert(MyObj.name);
//alert(MyObj.form.name);
MyObj.form.submit();
//document.forms["MonFormulaire"].submit();
}
</SCRIPT>
</HEAD>
<BODY>
<div id="bloc_page">
<?php
//Récupération des variables postées
$VariablesPostees = $_POST;
$NbrVariablesPostees = count($VariablesPostees);
echo "Nombre variables postées : ".$NbrVariablesPostees."<br />\n";
echo "<br />\n";
//Si des variables ont été postées, on les récupère
if ($NbrVariablesPostees > 0){
foreach ( $_POST as $PostNomVariable => $PostValeurVariable )
{
echo "key : ".$PostNomVariable ."<br />\n"; //Nom d'une variable récupérée
echo "value : ".$PostValeurVariable ."<br />\n"; //Sa valeur
//$PostValeurVariable = trim($PostValeurVariable); Retrait des espaces avant et après
$search = array('À', 'Á', 'Â', 'Ã', 'Ä', 'Å', 'Ç', 'È', 'É', 'Ê', 'Ë', 'Ì', 'Í', 'Î', 'Ï', 'Ò', 'Ó', 'Ô', 'Õ', 'Ö', 'Ù', 'Ú', 'Û', 'Ü', 'Ý', 'à', 'á', 'â', 'ã', 'ä', 'å', 'ç', 'è', 'é', 'ê', 'ë', 'ì', 'í', 'î', 'ï', 'ð', 'ò', 'ó', 'ô', 'õ', 'ö', 'ù', 'ú', 'û', 'ü', 'ý', 'ÿ');
$replace = array('A', 'A', 'A', 'A', 'A', 'A', 'C', 'E', 'E', 'E', 'E', 'I', 'I', 'I', 'I', 'O', 'O', 'O', 'O', 'O', 'U', 'U', 'U', 'U', 'Y', 'a', 'a', 'a', 'a', 'a', 'a', 'c', 'e', 'e', 'e', 'e', 'i', 'i', 'i', 'i', 'o', 'o', 'o', 'o', 'o', 'o', 'u', 'u', 'u', 'u', 'y', 'y');
//$PostValeurVariable = str_replace($search, $replace, $PostValeurVariable); //Retrait des accents. Préférer str_replace à strtr en UTF-8
$PostValeurVariable = preg_replace('/([^.a-z0-9]+)/i', '_', $PostValeurVariable); //Tout ce qui n'est pas a-z0-9 etc..., le remplacer par _
}
}
else{ //Si il n'y a pas eu de valeurs postées au formulaire
//Affichage d'un formulaire et de quelques valeurs
echo "<FORM METHOD=\"POST\" name=\"MonFormulaire\" ACTION=\"NomFormulaire.php\">\n"; //Remplacez "NomFormulaire.php" par le nom du fichier php dans lequel vous allez placer votre code
echo "Une checkbox <INPUT TYPE=CHECKBOX CHECKED ID=\"UneCheckBox\" NAME=\"UneCheckBox\" value=\"MaCheckBoxValue\" ><br />\n";
echo "Une zone de saisie : <input type=\"text\" name=\"Inputbox01\" id=\"Inputbox01\" value=\"Inputbox Value\" ><br />\n";
echo "<input type=\"button\" name=\"ButtEnvFormulaire\" value=\"Envoyer le formulaire\" ONCLICK=\"fctPostForm(this)\" />\n";
echo "</FORM>\n";
}
?>
</div> <!-- div bloc_page -->
</BODY>
</HTML>
Lien vers le fichier : cliquez ici
Si vous voulez récupérer une valeur bien précise, vous pouvez procéder ainsi :
$txtUneValeur = $_POST['uneValeur'];
echo "$txtUneValeur <br />\n";
Lien vers le fichier : cliquez ici
Publicité
Article(s) précédent(s)
Article(s) en relation(s)