web-dev-qa-db-fra.com

Découvrez la méthode HTTP dans PHP

Comment savoir quelle méthode (généralement GET ou POST) est utilisée pour la demande actuelle?

102
eWolf
$_SERVER['REQUEST_METHOD']

Voir la documentation . Il contiendra la méthode de demande en majuscules (c'est-à-dire 'GET', 'HEAD', 'POST', 'PUT').

177
Dominic Rodger

Lors de la vérification

$_SERVER['REQUEST_METHOD']

semble le choix évident, car certaines personnes préconisent des alternatives sûres aux superglobals ( L'utilisation de superglobals est-elle directement bonne ou mauvaise en PHP? et des questions similaires), on peut plutôt utiliser le nettoyage automatique

filter_input( \INPUT_SERVER, 'REQUEST_METHOD', \FILTER_SANITIZE_SPECIAL_CHARS )

(vous pouvez bien sûr utiliser un autre filtre, par exemple. FILTER_SANITIZE_STRING - voir ici pour une liste complète).

Évidemment, dans le cas normal (GET/POST), il n'y a rien à désinfecter, mais une bonne habitude est toujours une bonne habitude IMO.

http://php.net/manual/en/reserved.variables.server.php

http://php.net/manual/en/function.filter-input.php

12
vaxquis