2017-05-19 14 views
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('/'); 
     } 
    } 
} 

答えて

-1

だからここにいくつかのdingingが解決された後:

RemindersController.phpでこの行を変更してください: from:

$user->password = Hash::make($password); 

へ:

$user->password = $password; 

これはあなたの問題を解決する必要があります。

+1

これは悪い考えです。その理由は、Hash :: make($ password);パスワードを暗号化された形式で保存することです。誰かがデータベースにアクセスできる場合、ユーザーアカウントは安全です。ハッシュを削除することで、パスワードをそのまま保存します。その代わりに、 '(Hash :: make(Input :: get( 'password'))=== $ user-> password)' –

+0

@serdarのようにパスワードを$ user-> passwordと比較するコントローラをチェックする必要があります。 sanri実際にあなたが書いたことは感動しますが、どうすれば問題を解決できますか?私は完全なコントローラコードで投稿を更新します。 –

+0

あなたが言ったとき、あなたがすべての詳細を入力した後、それは正しくリセットされていません、どういう意味ですか?正確には何が正しいのでしょうか?パスワードをリセットした後、ログインしようとすると新しいパスワードは受け入れられませんか?データベースに設定したパスワードが表示されませんか? –

関連する問題