Aller au contenu

méthode POST & méthode GET


Sujets conseillés

Posté

Est-ce que ce qui suit est juste :

1) la méthode post n'est utilisable que dans un formulaire, exécutée par un submit.

2) la méthode get n'est utilisable que dans les url.

*) donc, quand on met method="post" dans un <form...>, c'est obligatoire, mais "ça ne sert à rien", car il ne peut en être autrement ! (<form method="get"> est impossible (!/?))

Merci.

Posté

Tu te trompes, ;)

Les deux méthodes sont utilisables dans les formulaires. La différence principale, en dehours du volume des arguments, est l'apparition des variables dans l'URL (méthode GET) ou non (méthode POST).

Après, c'est à ton programme de traiter les variables en utilisant les tableaux associatifs auto-globaux $_POST ou $_GET selon la méthode utilisée.

Il y avait aussi les variables $HTTP_POST_VARS et $HTTP_GET_VARS qui sont toujours utilisées (mais obsolètes et non auto-globales)

Il y a aussi dans les versions récentes de Php (>= 4.1.0), le tableau associatif $_REQUEST qui contient les variables POST, GET et les COOKIES.

Dan

Posté

Merci Dan,

Donc, je peux utiliser indifféremment les 2 dans un formulaire, get => var cachées dans l'url, post => var visible dans l'url.

Maintenant, si je veux passer des vars dans l'url ...?mavar="ok", je dois obligatoirement utiliser la méthode get, c'est ça ?

Posté
Donc, je peux utiliser indifféremment les 2 dans un formulaire, get => var cachées dans l'url, post => var visible dans l'url.

A part que c'est l'inverse, c'est juste :lol:

POST->cachées, GET->apparentes dans l'URL.

Posté
si je veux passer des vars dans l'url ...?mavar="ok", je dois obligatoirement utiliser la méthode get, c'est ça ?

Non t'es pas obligé.

Posté

héhéhé :lol::whistling:

ok !

Rottman, je peux donc aussi utiliser la méthode post (cacher) pour passer mes vars : ...?mavar="ok" dans les urls ?

Pourquoi la méthode get existe-t'elle ? quand on cache le code, c'est mieux, non ?

Posté

Nils,

<fun>

Je pense que tu devrais t'offrir un bouquin sur HTML... car s'il faut détailler chaque point on va devoir ouvrir un forum rien que pour toi :lol:

</fun>

Les méthodes sont définies pour les formulaires. Par contre si tu veux asser des variables dans l'URL, il n'est pas indispensable de passer par un formulaire. Tu es libre de créer les URLs que tu veux, en respectant le format.

Par contre, si tu veux utiliser une méthode POST, il FAUT utiliser un formulaire. Sinon tu ne pourras pas définir la méthode.

Dan

Posté
quand on cache le code, c'est mieux, non ?

Je sais que c'est à la mode mais .. en quoi cacher serait mieux ? surtout que ça ne cache pas vraiment, ça masque on devrait dire. Celui qui veut lire les informations peut les avoir, celui qui veut modifier les informations peut le faire.

Pourquoi la méthode get existe-t'elle ?

À l'origine il y a pas mal de méthodes en HTTP : GET / POST / DELETE / PUT et quelques trucs du genre.

* GET est pour aller chercher une ressource, éventuellement avec quelques paramètres. C'est le cas dans google : tu vas chercher la liste des pages qui correspondent à un mot clé précis.

* POST c'est pour envoyer des informations à une ressources. Classiquement c'est ce que tu fais ici en remplissant un message, tu ajoutes un commentaires à la ressource du forum.

Les gens utilisent tout n'importe comment et ça fait longtemps que plus grand monde ne fait attention aux sens réels mais il y a une réelle raison et une philosophie réelle. Cette philosophie a d'autres impacts. L'impact le plus important c'est la gestion du cache :

* quand tu vas chercher une requête (GET), tu passes à la page suivante, rien ne t'empêche de revenir sur tes pas et revenir chercher la même information que précédement. Il est même possible que ton navigateur l'ai retenue et n'ai pas à aller la rechercher

* quand tu envoies une information (POST), tu modifies la ressource. Ton navigateur a donc un problème, il ne peut pas te renvoyer la même ressource à partir du cache (elle ne sera pas à jour) et ne peut pas rejouer la requête (sinon il va modifier deux fois la ressource) ... il ne s'en sort pas et te demandera (via une popup) ce qu'il doit faire.

Posté

Je vais rajouter qu'un formulaire avec un GET ça sert à "créer" une redirection vers une url avec des variables.

Exemple :

imaginons une page index.php :

<?php

echo "Bonjour $_GET["nom"]";

?>

Si tu vas à la page index.php?nom=marc , la page affichera :

Bonjour marc

Et si tu veux faire ça avec un fomulaire :

<form action=index.php method="get">

<input type="text" name="nom">

<input type="submit">

</form>

Compris ?

Posté

bon heuu,

Merci pour les exemples et explications, je vais les tester un peu plus tard.

Pour ce qui est du bouquin, j'en ai bien un (HTML et JavaScript, Philippe Chaléat, Daniel Charnay, Eyrolles), ET je le lis aussi (mais moins depuis que je suis ici, c'est vrai), mais c'est peut-être pas le bon... et aujourd'hui, je manque un peu d' pour acheter davantage...

Bon, c'est vrai qu'il me manque des trucs, mais quand même ? je suis si nul que ça ? :unsure: ?

Maintenant, si tu as de bonnes références en HTML et PHP, je veux bien savoir. (un truc qui fait pas que expliquer les fonctions etc., mais l'environnement aussi (cf. mes questions), et assez didactique ...

Bon, j'ai un truc vraiment bizarre avec des vars, mais j'ose plus poster, c'est un peu long (code),...(?)

Posté

Dan,

<fun>

je me lance quand même, mais je fais compacte !

</fun>

je mets ça dans PHP/MySQL ...

Veuillez vous connecter pour commenter

Vous pourrez laisser un commentaire après vous êtes connecté.



Connectez-vous maintenant
×
×
  • Créer...