如何在laravel5中更新userprofile密码

时间:2016-03-17 10:15:20

标签: javascript laravel-5

当我在我的个人资料页面更新我的密码时,密码应该几乎改变它的工作正常。但我没有在该字段中输入任何密码,我点击提交按钮自动密码应该在db.suggest我生成的东西

我的HTML:

<form class="form-horizontal" role="form" id="loginForm" method="POST" action="{{ url('updatepassword') }}">
    <input type="hidden" name="_token" value="{{ csrf_token() }}">
    <div class="post-content col-sm-12">
        <h3 class="post-title">Change Password</h3>
        <div class="form-group col-xs-5">
            <label>Password</label>
            <input type="password"  class="form-control" name="password">
        </div>
        <div class="form-group col-xs-5 mm">
            <label>Confirm Password</label>
            <input type="password"   class="form-control" name="password_confirmation">
        </div>  
        <div class="form-group col-xs-2">
            <label>&nbsp;</label>
            <button id="login" type="submit" class="btn btn-info btn-block btn-flat ">Update</button>
        </div>
    </div>
</form>

控制器:

public function updatepassword(Request $request)
{
    $user =new User;
    $user->where('email', '=' ,Auth::user()->email)
      ->update([ 'password' => Hash::make('secret')]);
    return Redirect::to('user_profile');
}

路由器:

Route::post('updatepassword',array('as' =>'password','uses' => 'UserController@updatepassword'));

2 个答案:

答案 0 :(得分:2)

如果您想要提交随机密码,则可以执行以下操作:

$password = Input::has('password') ? Hash::make( Input::get('password') ) : Hash::make( str_random(8) );

这将检查是否提交了密码,如果没有,则会生成一个随机的8个字符的密码。

然后:

$user =new User;
$user->where('email', '=' ,Auth::user()->email)->update([ 'password' => $password ]);

答案 1 :(得分:0)

如果用户没有首先输入任何密码,您需要在表单和服务器端验证上建立客户端。

private void startDialActivity(String phone){
Intent intent = new Intent(Intent.ACTION_DIAL);
intent.setData(Uri.parse("tel:"+phone));
startActivity(intent);}