web-dev-qa-db-fra.com

Publication HTTP: paramètres d'URL et données de formulaire

Lorsque je fais http POST demande via un formulaire Web, y a-t-il une différence (pratiquement ou théoriquement) entre les paramètres spécifiés dans l'URL et les paramètres transmis avec le formulaire côté serveur?

Puis-je faire entier POST avec les paramètres url et attendre le même résultat qu'avec les entrées de formulaire?

Comme:

  <form action="/?id=2" method="post">
      <input type="text" name="name" value="John"/>
      <input type="submit" value="submit"/>
  </form>

Ou:

  <form action="/?id=2&name=John" method="post">
      <input type="submit" value="submit"/>
  </form>

Merci.

20
Bogdan Gusiev

Les références fournies par Gabriel et BrokenGlass sont vraiment cool, mais permettez-moi de vous donner 2 cents.

Je suppose que vous savez déjà un peu comment récupérer les données envoyées à partir du formulaire côté serveur. Si vous ne le faites pas, commencez par là et les réponses viendront plus vite que vous ne pouvez l'imaginer.

Eh bien, les paramètres envoyés sur l'URL ou l'action d'attribut du formulaire sont des paramètres de données GET. Ils seront analysés et mis à disposition en tant que tels. Période.

Les champs de saisie d'un formulaire avec la méthode POST sont envoyés en tant que données POST et sont analysés et disponibles en tant que tels).

À partir d'exemples que vous avez donnés et en supposant que vous utilisez PHP, nous pourrions récupérer les éléments suivants:

exemple 1

$_GET['id']
$_POST['name']

Exemple 2

$_GET['id']
$_GET['name']

J'espère que les concepts sont clairs.

15
Dave

Vous devriez lire cet article sur les différences entre GET et POST (GET est lorsque vous mettez vos paramètres dans l'URL et POST = c'est quand vous mettez vos paramètres dans le formulaire).

En outre, cette question a déjà été répondue ici sur StackOverflow

1
Gabriel McAdams