【发布时间】:2013-12-19 06:39:05
【问题描述】:
我正在使用 laravel-4 身份验证组件。我想做一个更改用户密码的功能。我的看法如下:
密码 - 文本框; new_password - 文本框; confirm_new_password - 文本框
我还检查了密码重置手册,但在该文档中(http://laravel.com/docs/security#password-reminders-and-reset),他们正在发送邮件进行密码重置。 视图如下:
@extends('layouts.main')
@section('title') Change Password
@stop
@section('content')
{{ Form::open(array('url'=>'users/user-password-change', 'class'=>'block small center login')) }}
<h3 class="">Change Password</h3>
<h6>Please change your password below.</h6>
<ul>
@foreach($errors->all() as $error)
<li>{{ $error }}</li>
@endforeach
</ul>
{{ Form::password('password', array('class'=>'input-block-level', 'placeholder'=>'Old Password')) }}
{{ Form::password('new_password', array('class'=>'input-block-level', 'placeholder'=>'New Password')) }}
{{ Form::password('confirm_new_password', array('class'=>'input-block-level', 'placeholder'=>'Confirm New Password')) }}
{{ Form::submit('Register', array('class'=>'k-button'))}}
{{ Form::close() }}
@stop
控制器代码如下:
public function postUserPasswordChange(){
$validator = Validator::make(Input::all(), User::$change_password_rules);
if($validator->passes()){
$user=new UserEventbot;
$user->password=Hash::make(Input::get('new_password'));
$user->save();
return Redirect::to('users/change-password');
}else {
return Redirect::to('users/change-password')->with('message', 'The following errors occurred')->withErrors($validator)->withInput();
}
}
请帮助我,如何首先将此密码与数据库表用户匹配,然后是整个过程。 谢谢。
【问题讨论】:
-
你的控制器里有什么?更新函数里面是什么。
-
我添加了有问题的控制器代码,请检查。
-
是用户已登录。
标签: laravel-4