ホームページ > 記事 > PHPフレームワーク > Laravelでユーザーパスワードを変更する方法について話しましょう
Laravel は、ユーザー パスワードの変更など、多くの機能を提供する人気の PHP フレームワークです。この記事では、Laravelでユーザーのパスワードを変更する方法を紹介します。具体的な手順は次のとおりです:
ステップ 1: パスワード変更用のルートを作成する
まず、ユーザー パスワードを変更するための Laravel ルートを作成する必要があります。次のコードを web.php ファイルに追加できます。
Route::get('/password', 'UserController@password')->name('password'); Route::post('/password', 'UserController@updatePassword')->name('updatePassword');
ここでは、GET および POST ルートを定義します。 GET ルートはパスワードを変更するためのフォームを表示するために使用され、POST ルートはフォーム データを送信してパスワード更新操作を実行するために使用されます。同時に、UserController@password と UserController@updatePassword の 2 つのコントローラー メソッドを作成する必要があります。
ステップ 2: パスワードを変更するフォームを作成する
resources/views ディレクトリに、パスワードを更新するためのフォームを含む、password.blade.php ビュー ファイルを作成します。以下にサンプル コードを示します。
<form method="POST" action="{{ route('updatePassword') }}"> {{ csrf_field() }} <div class="form-group"> <label for="current-password">Current Password</label> <input type="password" name="current-password" id="current-password" class="form-control" required> </div> <div class="form-group"> <label for="new-password">New Password</label> <input type="password" name="new-password" id="new-password" class="form-control" required> </div> <div class="form-group"> <label for="confirm-password">Confirm New Password</label> <input type="password" name="confirm-password" id="confirm-password" class="form-control" required> </div> <button type="submit" class="btn btn-primary">Submit</button> </form>
現在のパスワード、新しいパスワード、新しいパスワードを確認するための 3 つの入力ボックスがあります。フォームの送信アドレスは、ルートで定義したルート名に設定されます。
ステップ 3: コントローラー メソッドの作成
次に、UserController コントローラーに 2 つのメソッド (password と updatePassword) を作成する必要があります。サンプル コードは次のとおりです。
public function password() { return view('password'); } public function updatePassword(Request $request) { $this->validate($request, [ 'current-password' => 'required', 'new-password' => 'required|string|min:6|confirmed' ]); $user = Auth::user(); $currentPassword = $user->password; $passwordMatches = Hash::check($request['current-password'], $currentPassword); if ($passwordMatches) { $user->password = Hash::make($request['new-password']); $user->save(); return redirect()->back()->with('success', 'Password updated successfully!'); } else { return redirect()->back()->withErrors(['current-password' => 'Incorrect current password.']); } }
updatePassword メソッドでは、まずフォーム入力がルールに準拠していることを確認します。次に、Auth::user() メソッドを通じて現在のユーザー データを取得し、Hash::check() メソッドを通じて現在のパスワードがデータベース内のパスワードと一致するかどうかを確認します。パスワードが正常に一致した場合は、Hash::make() メソッドを使用して新しいパスワードをハッシュし、データベースに保存します。
ステップ 4: パスワード変更機能をテストする
これで、ルート、フォーム、コントローラー メソッドが作成されました。 localhost/password アドレスにアクセスしてパスワード変更ページにアクセスし、作成したコードをテストします。すべてがうまくいけば、ユーザーがパスワードを変更できるようになります。
結論
Laravelでユーザーのパスワードを変更するととても便利です。この機能を実現するには、フォーム、ルート、コントローラー メソッドを作成するだけです。この記事がLaravelでのユーザーパスワードの変更に役立つことを願っています。
以上がLaravelでユーザーパスワードを変更する方法について話しましょうの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。