laravel 4如何处理登录帖子

时间:2014-04-22 16:06:55

标签: post laravel-4 request

我想创建一个处理登录POST请求的操作。 我不知道我做错了什么但是,我无法在我的postLogin行动中处理/打印任何请求。我是Laravel的新手,也许我不理解Laravel的概念,但请求处理({{3通过路线对我来说是如此的陌生。

我想在控制器的操作中处理POST数据,而不是在路由中处理!

UserController.php

  public function postLogin()
  {
     $user = array(
            'email' => Input::get('email'),
            'password' => Input::get('password')
        );

     print_r($user);
     exit('1');
  }

routes.php文件

//invoke action to handle post request
Route::post('login','UserController@login');

//render the view
Route::get('user/login', function()
{
  return View::make('user.login');
});

login.balde.php

     {{ Form::open(array('url' => 'user/login', 'files' => false,'name'=>'postLogin'))}}
    ...
    ..
 {{Form::submit('LogIn',array('class'=>'btn btn-primary btn-lg'));}}
       {{ Form::close() }}

2 个答案:

答案 0 :(得分:0)

我不确定我是否理解,但是:

在您的表单中是操作user/login,但在路线中为login(来自发布请求)请尝试将其更改为login,并在路线中将login更改为{{1 }}

postLogin

答案 1 :(得分:0)

使用Laravel进行路由非常简单,我会尝试解释它,我希望它不会再看起来很奇怪了。 让我们先做一条像你一样的路线:

Route::post('login','UserController@login');

我们的意思是对链接的每个帖子请求" yourWebsiteAddress / login"将执行UserController中的函数login()。 所以你应该在UserController中有一个函数login()。要测试是否正在调用此函数,只需返回一个字符串:

public function login(){
    return 'login is working!';
}

或只是转储输入

public function login(){
    $input = Input::all();
    return dd($input);
}

现在,在您的表单中,网址必须是和现有路径

{{ Form::open(array('url' => 'login')) }}
     {{ Form::submit('Submit') }}
{{ Form::close() }}

我希望这会有所帮助