Php Laravel-控制器未从表单获取请求
我有以下表格:Php Laravel-控制器未从表单获取请求,php,laravel,laravel-5,Php,Laravel,Laravel 5,我有以下表格: <form action="{{route('login')}}" id="loginForm" method="POST"> <div class="text-center" style="font-size: 30px; font-family: 'Poppins', sans-serif;">Login</div><br /> <div class="input-group">
<form action="{{route('login')}}" id="loginForm" method="POST">
<div class="text-center" style="font-size: 30px; font-family: 'Poppins', sans-serif;">Login</div><br />
<div class="input-group">
<span class="input-group-label"><i class="fa fa-envelope"></i></span>
<input class="input-group-field" id="lemail" name="lemail" placeholder="Insert your email" type="email" required>
</div>
<p class="help-text" id="email">Type in your email and password to log in.</p>
<div class="input-group">
<span class="input-group-label"><i class="fa fa-lock"></i></span>
<input class="input-group-field" id="lpassword" name="lpassword" placeholder="Type in your password" type="password" required>
</div>
<input type="hidden" name="_token" value="{{ csrf_token() }}">
<br />
<div class="align-center">
<button type="submit" class="button secondary align-center" href="#">Login</button>
</div>
</form>
这就是功能:
public function login(Request $request)
{
$this->validate($request, [
'lemail' => 'required|string|email|max:255',
'lpassword' => 'required|string|min:6|max:128',
]);
$email = $request->input('lemail');
$password = $request->input('lpassword');
if (Auth::attempt(['email' => $email, 'password' => $password])) {
// Authentication passed...
return redirect()->intended('/home')
->with('flash_notice', 'You are successfully logged in.');
}
return redirect()->intended('/')
->with('flash_error', 'Your username/password combination was incorrect.');
}
问题是,在我填写字段并发送表单后,它告诉我电子邮件和密码字段是空的,但它们不是空的
这只有在我设置“动作”并像那样执行路由时才会发生,否则效果很好。
我这样做是因为我在页脚中有它,我希望它在所有页面上都能工作,但我无法让它工作。将您的路线用作:
Route::post('/', 'LoginUser@login')->name('login');
使用您的路线:
Route::post('/', 'LoginUser@login')->name('login');
在你的路线上说出你的名字
Route::post('/', [
'as' => 'login',
'uses' => 'LoginUser@login'
])->name('login');
而且我认为你忘记了你的{{csrf_field()}}在你的表单或令牌中:)在你的路线中给出名字
Route::post('/', [
'as' => 'login',
'uses' => 'LoginUser@login'
])->name('login');
我还认为您在表单或令牌中忘记了{{csrf_field()})
表单中的post url是什么?呈现后?@Coco您是否在
{{route('login')}}
之后检查了生成的路由?你查过你的路线表了吗<代码>php artisan路由:list。我做了{{action('LoginUser@login“)}}
它可以工作,好吗?您使用的是哪个laravel版本?您使用的是内置的laravel登录/auth功能吗?您是否有Route::auth()代码>在您的路由文件中?也许它们相互冲突?表单中的帖子url是什么?呈现后?@Coco您是否在{{route('login')}}
之后检查了生成的路由?你查过你的路线表了吗<代码>php artisan路由:list
。我做了{{action('LoginUser@login“)}}
它可以工作,好吗?您使用的是哪个laravel版本?您使用的是内置的laravel登录/auth功能吗?您是否有Route::auth()代码>在您的路由文件中?也许它们相互冲突?它仍然告诉我字段是空的。它仍然告诉我字段是空的