【发布时间】:2021-07-17 06:20:55
【问题描述】:
我想在 laravel 8 中创建一个登录注册系统。其中用户在登录时只能访问特定页面,否则重定向到登录页面。我就是那样做的。有什么问题。
//登录代码
function login(Request $req){
$results = DB::table('crud_users')
->where('email', '=', $req -> post('email'))
->where('password', '=', $req -> post('password'))
->get();
foreach ($results as $value) {
$value ->email;
$value ->password;
$name = $value ->name;
$user_type = $value ->user_type;
echo $id = $value ->id;
session()->put('id', $id);
session()->put('name', $name);
}
$req -> validate([
'email' => 'required',
'password' => 'required',
]);
$email = $req -> input('email');
$password = $req -> input('password');
if ($user_type == 'admin') {
if (($email == $value ->email) && ($password == $value->password)) {
return redirect('admin');
}
} else if($user_type == 'user') {
if (($email == $value ->email) && ($password == $value->password)) {
return redirect('user');
} else{
return redirect('login');
}
// session()->flash('success','You are registered! Please login!');
// return redirect('login');
}
}
//会话代码
if (session()->has('id')) {
Route::get('logout','App\Http\Controllers\User@logout');
Route::view('user','user');
Route::view('admin','admin');
Route::view('edit/{id}','edit/{id}');
}else{
Route::get('/', function () {
return view('welcome');
});
【问题讨论】:
-
欢迎来到 SO ... 我认为您应该研究 laravel 中间件并了解有关 laravel 的更多信息