【发布时间】:2017-03-29 23:51:17
【问题描述】:
会尽我所能把这一点说清楚。
为了使用 laravel 的登录和注册功能,我推出了一个 make Auth 调用,后来只是使用模板来提供我想要的需求。
-
如果用户是管理员,他/她可以注册一个新用户。
public function openNewUser(){ return view('auth.register');}
注意。部分待更新。
public function registerNewUser(Request $request){ $this->validate($request,[ 'email' => 'required|email|unique:users', 'name' => 'required|max:120', 'password' => 'required|min:4|confirmed']); $user = new User(); $user->name = $request->name; $user->email = $request->email; $user->password = encrypt($request->password); if (Gate::denies('register-user')) { return redirect()->back(); } $user->save(); return view('home'); }- 问题 1 - 我还想更新 user ,这会产生问题。密码输入返回空字段,我理解。当我尝试更改它时,确认密码总是不匹配,即使它们相同。当我将其留空时,它也不起作用,因为需要填写该字段。我将它们从表格中删除,并尝试我是否只能编辑电子邮件,但只是没有用。
公共函数 userUpdate (请求 $request,$user_id) {
$this->validate($request,[
'email' => 'required|email',
'name' => 'required|max:120',
'password' => 'required|min:4|confirmed']);
$user = new User();
$user->name = $request->name;
$user->email = $request->email;
$user->password = encrypt($request->password);
if (Gate::allows('register-user')) {
$user->save();
$user->roles()->attach($request->roles);
return redirect()->route('view_users');
}elseif (Gate::denies('register-user')) {
if (Auth::id() == $user_id) {
$user->save();
$user->roles()->attach($request->roles);
return redirect()->route('view_users');
}else{
return redirect()->back();
}
}
}
问题 2。我刚刚意识到我在新注册时所做的所有登录都给出了这些凭据与我们的记录不匹配。即使凭据在那里并且已正确注册。 我正在使用 laravel 提供的登录名,但我创建了自己的注册。
请问我怎样才能编辑和更新我的用户,并且还能够在注册后登录
【问题讨论】:
-
疯狂猜测:您是否有可能同时更改了您的应用程序密钥 (
php artisan key:generate) ? -
@dbr 不,我没有更改密钥,一切看起来都很好,应该可以正常工作吗?