0
,所以我不得不在剩下的口令页面的问题,一旦你进入的电子邮件并点击发送,用户正确获得的电子邮件,但是当用户去休息密码页面,输入所有信息,密码不会正确地休息。在Laravel休息密码4.2
- 检查解决方案后。
谢谢
***更新:
全控制器代码:
<?php
use Care\Forms\ReminderForm;
class RemindersController extends Controller
{
protected $reminderForm;
function __construct(ReminderForm $reminderForm)
{
$this->reminderForm = $reminderForm;
}
public function getRemind()
{
return View::make('pages.remind');
}
public function postRemind()
{
$this->reminderForm->validate(Input::only('email'));
$response = Password::remind(Input::only('email'), function($message)
{
$message->subject('Rest password');
});
switch ($response) {
case Password::INVALID_USER:
return Redirect::back()->with('error', Lang::get($response));
case Password::REMINDER_SENT:
return Redirect::back()->with('status', Lang::get($response));
}
}
public function getReset($token = null)
{
if (is_null($token)) App::abort(404);
return View::make('pages.reset')->with('token', $token);
}
public function postReset()
{
$credentials = Input::only(
'email', 'password', 'password_confirmation', 'token'
);
$response = Password::reset($credentials, function ($user, $password) {
$user->password = $password;
$user->save();
});
switch ($response) {
case Password::INVALID_PASSWORD:
case Password::INVALID_TOKEN:
case Password::INVALID_USER:
return Redirect::back()->with('error', Lang::get($response));
case Password::PASSWORD_RESET:
return Redirect::to('/');
}
}
}
这是一个坏主意。 Hash :: make($ password);的原因是以加密和腌制格式存储密码,所以如果有人有权访问您的数据库,用户帐户将是安全的。通过删除哈希,您按原样存储密码。相反,你需要一个与用户$密码比较>密码一样,如果'(哈希::化妆(输入::得到(“密码”))=== $用户>密码)' –
@serdar检查您的控制器。实际上你写的sanri确实让人感觉到,但是我该如何解决这个问题呢?我会用完整的控制器代码更新我的文章。 –
所以当你说了,在你输入所有的细节后,它没有被正确地重置,你是什么意思?它不正确的是什么?重置密码后,尝试登录时不接受新密码?或者您在数据库中设置时看不到密码? –