|
||||||
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 formulaireGrâce à la balise FORM du langage HTML, il est très simple de créer des formulaires comprenant :
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é) : Récupération et utilisation des donnéesNote 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.
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.
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>
01/01 03h06 | Notice: Undefined index: (Langages) | |
29/12 16h39 | Afficher facilement le code php/xhtml de vos pages (Webmaster) | |
28/12 00h03 | Récupérer login et mot de passe passés par un .htaccess (PHP) | |
08/12 22h42 | Les ressemblances à ne pas confondre (PHP) | |
02/12 16h02 | Vérifier une adresse électronique (format du mail) (PHP) | |
22/11 23h51 | Rediriger sur une autre page (redirection) (PHP) | |
18/11 01h10 | Fonction mail() (PHP) | |
11/11 01h39 | Coloration syntaxique dans vos pages web (Webmaster) | |
27/10 00h14 | Transformer une URL en lien hypertexte cliquable (PHP) | |
22/09 18h56 | Connexion à une base Oracle en php (Oracle) | |
Plus d'astuces sur « PHP Form » |
14/02 10h26 | [PhP ou JS] Controle de validité d'un form | Développement | 14/02 13h20->Aza | 4 |
02/06 08h51 | pblèm form php | Webmastering | 02/06 11h26->Micheeel | 2 |
14/02 15h48 | [PhP] vérification de form et aprés ... | Développement | 14/02 17h33->ZIG1 | 2 |
06/06 15h35 | [php,javascript] interdire l'envoi d'un form | Développement | 07/06 11h35->griese | 2 |
11/07 20h33 | creer un form avec MySql/PHP et easyphp 1.7 | Webmastering | 14/07 16h56->tonguim | 14 |
15/10 07h05 | Form PHP + Click() JScript OK IE pas FireFox | Webmastering | 25/10 10h51->zakuli | 8 |
14/06 15h16 | Variables conservées Form -> PHP ? | Internet | 14/06 15h50->flokocha | 7 |
20/07 15h51 | [PHP] recuperer valeur form | Webmastering | 21/07 11h16->JSS | 7 |
08/06 11h52 | php et "enctype=multipart/form-data" pb | Webmastering | 17/12 12h13->Bogoris | 6 |
04/07 14h11 | Recupe de variable dans un form avec php | Webmastering | 05/07 16h08->Bobinours | 5 |
Discussion fermée Problème résolu | Plus de discussions sur « PHP Form » |