我想创建一个处理登录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() }}
答案 0 :(得分:0)
我不确定我是否理解,但是:
在您的表单中是操作user/login
,但在路线中为login
(来自发布请求)请尝试将其更改为login
,并在路线中将login
更改为{{1 }}
postLogin
答案 1 :(得分:0)
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() }}
我希望这会有所帮助