我在laravel中的登录无法正常工作。我已经被困在这里很长一段时间了。这是我的登录控制器代码
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Auth;
class UsersController extends Controller
{
protected function dashboard(Request $request)
{
if (Auth::attempt(array('account_number'=>$request['accountnumber-login'], 'password'=> $request['txt-password']))) {
return redirect()->intended('viewdashboard');
}
}
protected function viewdashboard()
{
return view('dashboard');
}
}
..在此控制器中,&#39;帐号&#39;是数据库中的帐号列和密码&#39;是数据库中的密码列。我已正确完成所有操作,但它没有将我重定向到仪表板视图。请帮忙
这是我的html表单
<html>
<form action="dashboard" method="GET">
<input type="number" name="accountnumber">
<input type="password" name="password">
</form
</html>
这是我的网络路径文件夹
Route::get('dashboard', function(){
return view('dashboard_view');
}
请帮忙。
答案 0 :(得分:0)
您正在获取包含在表单中的其他名称的值,请尝试使用此值来获取控制器中的值:
public function auth(Request $request)
{
if (Auth::attempt(array('account_number'=>$request->input('accountnumber'), 'password'=> $request->input('password')]))) {
return redirect()->intended('viewdashboard');
}
注意:该方法必须是公开的
此外,您必须添加其他路线以获取仪表板请求或重命名您指向表单的路线。
Route::get('auth', 'App\Http\Controllers\UsersController@auth');
也会更新您的HTML表单。
答案 1 :(得分:0)
您没有在路线中使用UsersController。
Route::get('dashboard', 'App\Http\Controllers\UsersController@dashboard');
此外,您正在以错误的方式访问请求数据。
使用
$request->input('accountnumber');
编辑:
第三,仪表板方法必须是公开的
public function dashboard(Request $request)