Comment puis-je détecter le type de requête utilisé (GET, POST, PUT ou DELETE) en PHP ?
Réponses
Trop de publicités?
Thielicious
Points
1712
mahfuz
Points
424
J'ai utilisé ce code. Il devrait fonctionner.
function get_request_method() {
$request_method = strtolower($_SERVER['REQUEST_METHOD']);
if($request_method != 'get' && $request_method != 'post') {
return $request_method;
}
if($request_method == 'post' && isset($_POST['_method'])) {
return strtolower($_POST['_method']);
}
return $request_method;
}
Le code ci-dessus fonctionnera avec REST calls
et travaillera également avec html form
<form method="post">
<input name="_method" type="hidden" value="delete" />
<input type="submit" value="Submit">
</form>
Rockers Technology
Points
267
Vous pouvez obtenir n'importe quelle chaîne de données de requête, c'est-à-dire www.example.com?id=2&name=r
Vous devez obtenir des données en utilisant $_GET['id']
o $_REQUEST['id']
.
Afficher les données signifie comme un formulaire <form action='' method='POST'>
vous devez utiliser $_POST
o $_REQUEST
.
- Réponses précédentes
- Plus de réponses
27 votes
N'oubliez pas HEAD =) (ainsi que OPTIONS, TRACE et CONNECT, mais je ne pense pas que PHP les reçoive jamais).
5 votes
Et si
PATCH
?2 votes
PATCH fonctionne également très bien.
$_SERVER['REQUEST_METHOD'] === 'PATCH'