首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Laravel用户更新问题

问Laravel用户更新问题
EN

Stack Overflow用户
提问于 2016-11-15 22:39:45
回答 2查看 1.5K关注 0票数 0

我会尽量把这件事说清楚的。

我推出了一个make调用,以便使用laravel的登录和注册功能,后来只使用模板来提供我想要的需求。

  1. 如果用户是管理员,他/她可以注册一个新用户。 公共函数openNewUser(){返回视图(‘auth.register’); } 注意:部分是为了更新。 公共函数registerNewUser(Request $request){ $this->validate($request,'email‘=>’所需的电子邮件的惟一性:user‘、’=>‘必需的最大值:120’、‘密码’=>‘必需的\=>\如果(门::拒绝(‘寄存器-用户’)){返回重定向()->back();} $user->save();返回视图(‘home’);}
代码语言:javascript
复制
1. Problem 1 - I also want to update user , which is giving problems. The password inputs return empty fields , which i understand. When I try to change it doenst work the confirm password always give a mismatch even though they are the same. When I leave it blank too it doesnt work because the field is required to be filled. I took them off the form and tried if i could edit the email only but only didnt work.

​

公共函数userUpdate (Request $request,$user_id) {

代码语言:javascript
复制
  $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.我刚刚意识到我用我的新注册所做的所有登录都给出了这些凭证不匹配我们的records.Even,尽管凭证在那里并且注册正确。我正在使用laravel提供的登录,但我创建了自己的注册。

请让我如何编辑和更新我的用户,也能够在注册后登录。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-11-19 20:58:32

我发现出了什么问题,因为我使用的是Laravel的登录,我的注册必须使用bycrypt进行加密,这就是Laravel注册所使用的,但我在创建自己的注册时使用的是加密,所以在登录时出现了冲突。(Remembere我使用的是Laravel登录,而不是我自己写的登录)。我希望这能帮到别人

票数 1
EN

Stack Overflow用户

发布于 2016-11-16 15:28:42

你用的是什么版本的Laravel?

下面是我在RegisterController.php中的(v5.3) RegisterController.php方法,至少部分用于注册:

代码语言:javascript
复制
public function register(Request $request)
{   
...
// save and login user
$user = $this->create($request->all());
$this->guard()->login($user);
...
}
...
protected function create(array $data)
{
    return User::create([
        'name' => $data['name'],
        'lastname' => $data['lastname'],
        'phone' => $data['phone'],
        'email' => $data['email'],
        'password' => bcrypt($data['password']),
    ]);
}

和来自LoginController.php的LoginController.php方法

代码语言:javascript
复制
public function login(Request $request) 
{
$credentials = $this->credentials($request);
...
if ($this->guard()->attempt($credentials, $request->has('remember'))) {
      return $this->sendLoginResponse($request);
   }
}

希望我没有错过任何事。请记住,这里的情况已经从5.2版改变了。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40620994

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档