laravel 登录刷新页面

rqmkfv5c  于 2023-02-14  发布在  其他
关注(0)|答案(1)|浏览(243)

我的laravel项目在主机上不工作。但是在本地服务器上一切都工作得很完美(
当我切换到www.example.com时mysite.com,索引页“login”并在登录表单中输入数据,tpage刚刚刷新
同时,如果转到mysite.com/register,我将能够注册一个新用户并将此数据写入数据库的Users表
我试着做路线测试

Route::get('/test', function(){
  return User::All();

//this returned all users in DB(ill check connection with my DB)

});
Route::get('/test', function(){
  $user = Auth::user();
 print_r($user);

//this returned NULL

});

我理解Auth::login函数将经过身份验证的用户写入会话,并将memoer_token字段填充到数据库的用户表中。在表本身中写入令牌,但在会话中什么也不写入。
但我不知道如果这是真的该怎么办

**UPD:**我尝试一步一步地将我的项目文件替换为早期版本(工作正常)。

我发现是我的问题。在“资源”文件夹-文件登录。刀片在上一个版本中,我改变了标准输入“电子邮件”为“用户名”,现在我写字段用户名从上面判断,问题是,他期待返回的电子邮件?也许在数据验证的某处?为什么那么在网站的本地版本一切正常?
x一个一个一个一个x一个一个二个x

46scxncf

46scxncf1#

我找到了解决这个问题的办法!
在LoginController.php文件中,重写用于登录字段的username方法。

public function username(): string
{
   $login = request()->input('email');
   $field = filter_var($login, FILTER_VALIDATE_EMAIL) ? 'email' : 'name';
   request()->merge([$field => $login]);
   return $field;
}

相关问题