Comprendre le bitcoin, l'intelligence artificielle, faire un site web... En 3 minutes en vidéo!

Récupérer des variables par formulaire

Tutoriaux > PHP / MySQL > Récupérer des variables par formulaire

Récupérer des variables par formulaire
Utilisation des méthodes GET et POST dans un formulaire en PHP

Je vais vous expliquer comment récupérer les données d'un formulaire que l'utilisateur a précédemment rempli. Il y a deux possibilités:

- Soit passer les valeurs directement dans la barre d'adresse (GET):

Avantages : Bof... Il n'y a pas vraiment d'avantages !
Inconvénient : Limite de 1024 caractères ; Lisible pour tout le monde ; Très peu sécurisé

- Soit passer les valeurs sans que l'utilisateur ne les voient (POST):

Avantages : presque aucune limite de taille (2^64 je crois) ; Moyennement bien sécurisé

Donc en gros, il vaut mieux toujours utiliser la méthode POST, mais je vais quand même vous expliquer les deux !

Alors commencons par la méthode GET :

Créez votre formulaire en HTML normal sur la première page:


<html>
<body>
<form name="NomDuFormulaire" method="get" action="page2.php"> (1)
<input type="text" name="Nom" size="20" />
<input type="text" name="Prenom" size="20" />
<input type="submit" name="envoi" value="Envoyer" />
</form>
</body>
</html>



(1) : Lors de la déclaration du formulaire, vous voyez la déclaration de la méthode, ici get, et action=page2.php, qui vous envoie à page2.php lorsque vous cliquez sur le bouton.

Pour cette page, le formulaire contient deux champs texte, Nom et Prenom.

Lorsque vous cliquerez sur le bouton, vous verrez dans la barre d'adresse :

Code

http://www.monsite.com?nom=Chirac&prenom=Jacques&envoi=envoyer



Nous allons créer maintenant page2.php, qui doit récupérer les valeurs de nom et de prénom.

Donc créez votre page comme suit:


<html>
<body>
<?
$_nom = $_GET['Nom']; (1)
$_prenom = $_GET['Prenom']; (2)
echo $_nom."<BR>"; (3)
echo $_prenom; (4)
?>
</body>
</html>



(1) : Nous insérons la valeur de la variable $_GET['Nom'] dans la variable $_nom
(2) : Nous insérons la valeur de la variable $_GET['Prenom'] dans la variable $_prenom
(3)(4) : On affiche les variables (n concaténant un <BR>, qui fera sauter une ligne entre le nom et le prénom.

Donc en gros, lorsque vous passer des valeurs en GET, pour les récupérer, il faut utiliser la variable :

Citation

$_GET['LeNomDuChamp']



Pour la méthode POST, c'est exactement la même chose, sauf que dans la déclaration du formulaire, remplacer GET par POST, et la variable de récupération est :

Citation

$_POST['LeNomDuChamp']



Mais dans la barre d'adresse, vous verrez seulement :

Code

http://www.monsite.com/



Voila voila je crois que vous savez tout au niveau du passage de variables par formulaires !
La lecon suivante, je vous apprendrai comment garder les valeurs en mémoire sur plusieurs pages, car il faut savoir que les variables $_GET et $_POST ne restent pas en mémoire. Les variables ne seront utilisables que sur page2.php !

:D

Par 1 , Le 25 Avril 2006 à 17h09
Ce tutoriel est la propriété d'Aidoweb et ne peut en aucun cas être copié.

Retour à PHP / MySQL

Ajouter un commentaire

Suite a un fort volume de spam, les commentaires d'invités sont pour le moment désactivés. Vous devez vous inscrire ou vous identifier pour pouvoir commenter cet article, ou demander du support.

Lectures recommandées

Commentaires sur cet article

paulodef - Le 15 Septembre 2012 à 23h18

Bonjour,

Est-il possible de pré-remplir les champs d'un formulaire avec cette méthode, et sans utiliser du tout de php par ailleurs ?

Mon idée est d'envoyer par mail une url de cette forme
www.mondomaine.com/formulaire.html?nom=Maradona&prenom=Diego

et que la personne arrive sur une page avec un formulaire prérempli avec son prénom et son nom.

Suffit-il d'ajouter à l'imput du champ texte value=""

ou bien faut-il ajouter autre chose en php plus haut dans la page ?

Mes tests n'ont pas donné grand chose...
Merci !

Masamune - Le 21 Juin 2011 à 12h16

Un petit

if(isset($_GET('monChamp')))
$maVariable = $_GET('monChamp');

Ça serait pas du luxeClin d'oeil
Toutefois merci pour ton exemple clair et concis, c'est toujours bon d'avoir la syntaxe sous la main.

oceanbigone - Le 30 Août 2006 à 14h11

Juste une précision sur GET, j'ai un avantage pour son utilisation (c'est d'ailleur le seul cas ou je l'utilise.). Il permet à l'utilisateur d'utiliser le bouton précédent de son navigateur sans renvoyer les données. Utile essentiellement pour la navigation (tri, page, etc...)

Brunocatteau - Le 25 Juin 2006 à 16h18

Il ne faut pas oublier d'expliquer que la methode POST est avant tout à utiliser pour les requetes qui sont succeptibles de modifier l'état du serveur.
Bruno CATTEAU

Orgnobi - Le 03 Mai 2006 à 19h28

Il faut préciser aussi que pour que cela marche, il faut que la valeur du name (name="Nom" par exemple) doit etre la meme dans un POST ou un GET ($_GET['Nom'] et $_POST['Nom'])

Et il manque aussi le <head></head> dans le code html ^^

Pouzy - Le 03 Mai 2006 à 13h25

J'ai modifié tout caSourire

ju2cho7 - Le 01 Mai 2006 à 19h23

pas mal le tuto,mais il manque les guillements dans le HTML et les apostrophes dans tes variables $_GET[''] et $_POST[''] :/

Tutoriaux > PHP / MySQL > Récupérer des variables par formulaire