web-dev-qa-db-ja.com

リクエストがGETか、またはPOST

私のコントローラー/アクションで:

if(!empty($_POST))
{
    if(Auth::attempt(Input::get('data')))
    {
        return Redirect::intended();
    }
    else
    {
        Session::flash('error_message','');
    }
}

リクエストがLaravelまたはPOSTであるかどうかを確認するメソッドがGETにありますか?

34
JoeLoco

もちろん、リクエストのタイプを見つける方法があります。 しかし 代わりに、ルートを定義して、POSTリクエストを処理する必要があります。条件文が必要です。

routes.php

Route::post('url', YourController@yourPostMethod);

あなたの中のコントローラー/アクション

if(Auth::attempt(Input::get('data')))
{
   return Redirect::intended();
}
//You don't need else since you return.
Session::flash('error_message','');

GETリクエストについても同様です。

Route::get('url', YourController@yourGetMethod);

Laravels docs によると、それをチェックするRequestメソッドがあるので、次のようにできます:

$method = Request::method();

または

if (Request::isMethod('post'))
{
// 
}
150
Tom

上記のソリューションは時代遅れです。

Laravel documentation

$method = $request->method();

if ($request->isMethod('post')) {
    //
}
47
hubrik

Request::getMethod()を使用して現在のリクエストに使用されるメソッドを取得しますが、リクエストのタイプに応じてLaravelはコントローラーの正しいメソッドを呼び出すため、_getFoo()、POSTの場合はpostFoo()

6
Marcin Orlowski

$_SERVER['REQUEST_METHOD']はそのために使用されます。

次のいずれかを返します。

  • '取得する'
  • '頭'
  • '役職'
  • 'プット'