Flux rss
Bookmark Ajouter aux favoris / Partager
PHP rend très simple la récupération de données envoyées par l'intermédiaire de formulaires HTML.

Création d'un formulaire

Grâce à la balise FORM du langage HTML, il est très simple de créer des formulaires comprenant :

  • des champs de saisie
  • des cases à cocher
  • des boutons radio
  • des listes à choix multiples
  • des champs "hidden" (cachés) pour transmettre certaines informations
  • ...
Pour utiliser un tel formulaire capable d'envoyer des informations à un script PHP, il suffit de mettre le nom du fichier PHP qui réceptionnera les informations en tant que valeur de l'attribut ACTION de la balise FORM.

Voici ce à quoi peut ressembler un formulaire en HTML, permettant d'envoyer les coordonnées d'une personne à un fichier PHP nommé test.php3 :

<FORM Method="POST" Action="test.php3">

Nom : 		<INPUT type=text size=20 name=nom><BR>

Prénom : 	<INPUT type=text size=20 name=prenom><BR>

Age : 		<INPUT type=text size=2 name=age><BR>

		<INPUT type=submit value=Envoyer>

		<INPUT type=hidden name=afficher value=ok>

</FORM>
Le résultat de ce code est le suivant (le bouton Envoyer est volontairement désactivé) :
Nom :
Prénom :
Age :

Récupération et utilisation des données

Note sur les variables globales

Les variables globales peuvent être activées ou désactivées selon la configuration du serveur, ce qui détermine la façon dont on pourra récupérer les informations des formulaires.
Pour connaitre leur statut sur le serveur PHP que vous utilisez, il vous suffit de créer une page contenant uniquement ce code, et de la télécharger sur votre serveur :

	<?php
	phpinfo();
	?>
Ouvrez ensuite ce fichier situé sur le serveur et observez la ligne register_globals, et vous verrez inscrit en face ON ou OFF (activé ou désactivé).

Pour des raisons de sécurité, depuis la version 4.2.0 de PHP, les variables globales sont désctivées par défaut. Cependant, l'administrateur du serveur peut changer cette option.

Avec les variables globales activées

Si les variables globales sont activées, chaque donnée (valeur saisie dans le champ) transmise par formulaire est directement passée dans une variable (intitulée comme l'attribut NAME du champ).

Exemple (d'après le formulaire précédent), sur la page test.php3, on aura :

	$nom = 'le_contenu_du_champ_nom'
	$prenom = 'le_contenu_du_champ_prenom'
	$age = 'le_contenu_du_champ_age'
	$afficher = 'ok'

Cette page test.php3 affichera donc le contenu des champs :

	<HTML>
	<HEAD>
	<TITLE>Affichage des résultats</TITLE>
	<BODY>

	<?php
		echo $nom;
		echo '<br>'
		echo $prenom;
		echo '<br>';
		echo $age;
		echo '<br>'
		echo $afficher;
	?>

	</BODY>
	</HTML>

Néanmoins, pour des raisons de sécurité, il est conseillé de toujours faire comme si les variables globales étaient désactivées (décrit ci-dessous), même si elles sont actives.

Variables gobales désactivées

La méthode qui suit est obligatoirement à utiliser si les variables globales sont désactivées sur votre serveur; elle est toutefois également fortement recommandée, même si elles sont activées.

Vous ne récupérerez donc pas les informations directement par le biais d'une variable, mais via une variable de type tableau.
Cette variable tiendra compte de la provenance de la donnée, et notamment si l'attribut METHOD du formulaire est GET ou POST.

Voici les deux variables tableaux qu'il convient d'utiliser pour récupérer les données d'un formulaire.
(donnee correspond à l'attribut NAME du champ).

Variable Signification
$_POST['donnee'] S'utilise lorsque l'attribut METHOD du formulaire est POST.
$_GET['donnee'] S'emploie lorsque l'attribut METHOD du formulaire est GET ou bien lorsque celui-ci n'est pas (ou pas correctement) spécifié.

Ce tableau récapitule les plus importants "modèles" de variables tableaux de PHP pour récupérer diverses informations, autres que par un formulaire.

Variable Signification
$_GET['donnee'] S'utilise pour un paramètre passé à l'URL.
Par exemple, si on prend cette URL : http://www.votresite.com/index.php?nom=dupont&prenom=jean
on aura ces variables :
$_GET['nom'] = 'dupont'
$_GET['prenom'] = 'jean'
$_SESSION['la_variable'] S'emploie pour récupérer la valeur une variable de session
(ici la_variable).
$_COOKIE['nom_cookie'] Récupérer la valeur d'un cookie.
(ici nom_cookie est le nom du cookie).
$_ENV['la_variable'] Récupération de la valeur d'une variable d'environnement.
(ici la_variable)
$_FILES['la_variable'] Récupérer la valeur d'une variable de fichier envoyée par un formulaire.
$_SERVER['la_variable'] Récupérer la valeur d'une variable serveur

Si jamais un des champs du formulaire n'est pas rempli, il possède la valeur "", c'est-à-dire une chaîne vide...

Voici, par exemple, ce à quoi pourrait ressembler le fichier test.php3, dont le but est uniquement d'afficher les informations saisies par l'utilisateur à l'écran, ainsi que de vérifier que tous les champs ont bien été remplis (si le champ hidden "enregistrer" est égal à ok) :

<HTML>
<HEAD>
<TITLE>Test.php3: Affichage des données utilisateur</TITLE>
</HEAD>
<BODY>

<?php
if ($_POST['entregistrer']=="ok") {
	if (($nom=="")||($prenom=="")||($age=="")){
		if($nom=="") print("Veuillez saisir le nom de l'utilisateur<BR>\n");
		if($prenom=="") print("Veuillez saisir le prénom de l'utilisateur<BR>\n");
		if($age=="") print("Veuillez saisir l'age de l'utilisateur<BR>\n");

	}
	else {
	echo "Récapitulatif des informations saisies<BR>\n
	<UL>
	<LI>Nom: $nom</LI>
	<LI>Prenom: $prenom</LI>
	<LI>Age: $age</LI>
	</UL>
	";

	}
}
else {
	echo "<p>Vous n'avez pas demandé que les informations soient affichées.<p>"
}

?>

</BODY>
</HTML>

Pour plus d'informations sur...



Dernière modification le mardi 14 octobre 2008 à 17:40:30.Ce document intitulé « PHP - Récupération de données » issu de Comment Ça Marche (www.commentcamarche.net) est mis à disposition sous les termes de la licence Creative Commons. Vous pouvez copier, modifier des copies de cette page, dans les conditions fixées par la licence, tant que cette note apparaît clairement.
Récuperation donnée menu déroulant Bonjour, Voila, j'ai crée un formulaire, avec des input text, et j'aimerais rajouter un menu déroulant dedans. Via mon bouton, j'accède a une autre page ou j'aimerais traité mes données. Pour le texte pas de problème, le $_POST fonctionne. Mais je... www.commentcamarche.net/forum/affich-12519614-recuperation-donnee-menu-deroulant
Récupération DONNEES PHP/My SQL/ Mail Récupération DONNEES PHP/My SQL/ Mail Bonjour, Grace à vos conseils, j'ai réuisi à établir un formulaire et un code pour l'enregistrement d'un enregistrement dans la BD My SQL, néanmoins, j'ai 2 problèmes encore: 1) Le message sous forme de textarea,... www.commentcamarche.net/forum/affich-5468758-recuperation-donnees-php-my-sql-mail
[PHP] Recuperation des données dans un .csv Voila j'aimerais recuperer les données que j'affiche dans un tableau sur ma page PHP dans un .csv ! Apres avoir esseyer du code ca ne marchait pas... si quelqu'un peut m'aider... ora_exec www.commentcamarche.net/forum/affich-3301109-php-recuperation-des-donnees-dans-un-csv
Récupération de données perduesIl peut arriver de perdre des données en cas de "crash" du disque dur (choc électrique ...) ou dans un malheureux formatage ! Il est encore souvent possible de les récupérer grâce à des utilitaires de récupération de données ! Néanmoins, les solutions... www.commentcamarche.net/faq/sujet-309-recuperation-de-donnees-perdues
Récupérez vos données endommagées d'un CD/DVDRécupérer des données endommagées d'un CD/DVD avec CDCheck D'abord rendez-vous au lien de téléchargement CDCheck. Le logiciel gratuit de Mitja Perko, analyse les données d'un CD/DVD et les récupére facilement. Mettre CDCheck en français Lancer... www.commentcamarche.net/faq/sujet-8292-recuperez-vos-donnees-endommagees-d-un-cd-dvd
Code vba recupération données cellule sous exBonjour, Voilà je suis novice en VBA (j'y connais absolument rien) et j'aimerais savoir le code qui me permettrait de récupérer des données de certaines cellules et de l'afficher dans un formulaire. merci bien j'attends impatiemment vos réponses en... www.commentcamarche.net/forum/affich-8256161-code-vba-recuperation-donnees-cellule-sous-ex
[récupération donnée perdue]Bonjour, j'avais sur une disquette un bon nombre de courriers ainsi que des curriculum vitae. Suite à une erreur de manipulation, ces données ont été effacées mais pas formatées. Y aurait-il moyen de les récupérer ? Je crois qu'un logiciel existe mais... www.commentcamarche.net/forum/affich-1633389-recuperation-donnee-perdue
[PHP/MYSQL]recupération de données... (Résolu)bonjour, je fais un site en php/mysql j'ai créé un formulaire où j'ai une liste déroulante comportant mes utilisateurs et une zone texte correspondant au service auquel appartient c utilisateurs. lorsque je choisis un utilisateur, THÉORIQUEMENT ,le... www.commentcamarche.net/forum/affich-1294314-php-mysql-recuperation-de-donnees
PHP - Récupération de donnéesPHP rend très simple la récupération de données envoyées par l'intermédiaire de formulaires HTML. Création d'un formulaire Grâce à la balise FORM du langage HTML, il est très simple de créer des formulaires comprenant : des champs de saisie des... www.commentcamarche.net/contents/php/phpform.php3
PHP - Bases de donnéesPhp permet un interfaçage très simple avec un grand nombre de bases de données. Lorsqu'une base de données n'est pas directement supportée par Php, il est possible d'utiliser un driver ODBC, pilote standard pour communiquer avec les bases de... www.commentcamarche.net/contents/php/phpbdd.php3
PHP - Les classesLa notion de classe Php3 intègre un soupçon de caractéristiques empruntées aux langages orientés objet, c'est-à-dire la possibilité d'utiliser des objets, entités regroupant des données et des fonctions au sein d'une structure et rendant la... www.commentcamarche.net/contents/php/phpclass.php3