Dans mon contrôleur/action:
if(!empty($_POST))
{
if(Auth::attempt(Input::get('data')))
{
return Redirect::intended();
}
else
{
Session::flash('error_message','');
}
}
Existe-t-il une méthode dans Laravel
pour vérifier si la demande est POST
ou GET
?
Bien sûr, il existe une méthode pour trouver le type de la demande, Mais à la place, vous devez définir une route qui gère POST
requêtes, vous n'avez donc pas besoin d'une instruction conditionnelle.
routes.php
Route::post('url', YourController@yourPostMethod);
à l'intérieur de vous contrôleur/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 la demande GET
.
Route::get('url', YourController@yourGetMethod);
Selon Laravels docs , il existe une méthode Request pour le vérifier, vous pouvez donc simplement faire:
$method = Request::method();
ou
if (Request::isMethod('post'))
{
//
}
Les solutions ci-dessus sont obsolètes.
Selon documentation Laravel :
$method = $request->method();
if ($request->isMethod('post')) {
//
}
Utilisez Request::getMethod()
pour obtenir la méthode utilisée pour la requête actuelle, mais cela devrait rarement être nécessaire car Laravel appellerait la bonne méthode de votre contrôleur, selon le type de requête (ie getFoo()
pour GET et postFoo()
pour POST).
$_SERVER['REQUEST_METHOD']
est utilisé pour cela.
Il renvoie l'un des éléments suivants: