Méthodes GET et POST

Passage de variable en PHP

GET et POST : comment passer des valeurs à un programme PHP ?

Exemple : on veut passer le nom et le prenom d'une personne à un programme pour l'afficher sur une page web. On a deux possiblités: soit on utilise un formulaire HTML, soit on passe les parametre via un lien hypertexte. Lorsqu'on passe les paramètres avec la methode GET, on les voit apparaître dans l'url :

http://www.mondomaine.com/fichier.php3?nom=airey&prenom=romuald

Lorsqu'on passe les paramètres avec la methode POST, c'est transparent. La méthode POST n'est pas limitée en taille, en GET la taille est limitée, donc des formulaires trop riches ne fonctionneront pas. De plus si on imagine une application avec mot de passe, la method get est à prohiber car on verrait le mot de passe dans l'url !

http://www.mondomaine.com/fichier.php3?login=dupont&motdepasse=45gtPQ47

Exemple d'un formulaire en POST !

<html>
<form action=fichier.php3 method=post>
prenom : <input type=text name=valeur><br>
nom : <input type=text name=valeur><br>
<input type=submit value=Envoyer>
</form>
</html>

Programme PHP permettant d'afficher les valeurs postées par le formulaire :

<?php
 echo "prenom : $http_post_vars[prenom]<br>";
 echo "nom : $http_post_vars[nom]<br>";
?>

Exemple avec un lien donc un programme php en GET !

<html>
<a href="fichier.php3?nom=airey&prenom=romuald">fichier</a>
</html>

Programme PHP permettant d'afficher les valeurs postées par le formulaire :

<?php
 echo "prenom : $http_get_vars[prenom]<br>";
 echo "nom : $http_get_vars[nom]<br>";
?>

Cependant les exemples que je viens de vous donner sont complets, vous pouvez réduire le code, par exemple pour le dernier cas:

<?php
 echo "prenom : $prenom<br>";
 echo "nom : $nom<br>";
?>

Liens

page originale de celle-ci : http://www.ilovephp.com/docs/docview.php3?id=14