Проверьте, является ли запрос GET или POST
в мой контроллер/действие:
if(!empty($_POST))
{
if(Auth::attempt(Input::get('data')))
{
return Redirect::intended();
}
else
{
Session::flash('error_message','');
}
}
есть ли способ в Laravel
чтобы проверить, является ли запрос POST
или GET
?
5 ответов
конечно, есть метод, чтобы узнать тип запроса,но вместо этого вы должны определить маршрут обработки POST
запросов, таким образом, вам не нужен условный оператор.
маршруты.в 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 есть метод запроса, чтобы проверить его, так что вы могли бы просто сделать:
$method = Request::method();
или
if (Request::isMethod('post'))
{
//
}
приведенные выше решения устарели.
по состоянию на документация фреймворк Laravel:
$method = $request->method();
if ($request->isMethod('post')) {
//
}
использовать Request::getMethod()
чтобы получить метод, используемый для текущего запроса, но это редко нужно, поскольку Laravel будет вызывать правильный метод вашего контроллера, в зависимости от типа запроса (т. е. getFoo()
для GET и postFoo()
для поста).
$_SERVER['REQUEST_METHOD']
используется для этого.
он возвращает одно из следующих значений:
- 'GET'
- 'голова'
- 'POST'
- 'PUT'