Vérifier si la requête est GET ou POST
Dans mon controller/action:
if(!empty($_POST))
{
if(Auth::attempt(Input::get('data')))
{
return Redirect::intended();
}
else
{
Session::flash('error_message','');
}
}
Est-il une méthode Laravel
pour vérifier si la requête est POST
ou GET
?
5 réponses
bien sûr, il existe une méthode pour déterminer le type de la requête, Mais a la place vous devez définir un route qui gère POST
demandes, donc vous n'avez pas besoin d'une instruction conditionnelle.
itinéraires.php
Route::post('url', YourController@yourPostMethod);
à l'intérieur de vous controller/action
if(Auth::attempt(Input::get('data')))
{
return Redirect::intended();
}
//You don't need else since you return.
Session::flash('error_message','');
il en va de même pour GET
demande.
Route::get('url', YourController@yourGetMethod);
Selon Laravels docs, il y a une Demande de la méthode pour le vérifier, vous pouvez donc faire:
$method = Request::method();
ou
if (Request::isMethod('post'))
{
//
}
Les solutions ci-dessus sont dépassées.
$method = $request->method();
if ($request->isMethod('post')) {
//
}
Utiliser Request::getMethod()
pour obtenir la méthode utilisée pour la requête courante, mais cela devrait être rarement nécessaire car Laravel appellerait la bonne méthode de votre controller, en fonction du type de requête (i.e. getFoo()
pour OBTENIR et postFoo()
pour la poste).
$_SERVER['REQUEST_METHOD']
est utilisé pour cela.
Il retourne l'une des opérations suivantes:
- 'GET'
- 'HEAD'
- 'POST'
- 'PUT'