Heim  >  Artikel  >  PHP-Framework  >  Lassen Sie uns darüber sprechen, wie Sie das Benutzerkennwort in Laravel ändern

Lassen Sie uns darüber sprechen, wie Sie das Benutzerkennwort in Laravel ändern

PHPz
PHPzOriginal
2023-03-31 13:52:25849Durchsuche

Laravel ist ein beliebtes PHP-Framework, das viele Funktionen bietet, einschließlich der Änderung von Benutzerkennwörtern. In diesem Artikel stellen wir vor, wie man das Benutzerkennwort in Laravel ändert. Im Folgenden sind die spezifischen Schritte aufgeführt:

Schritt 1: Erstellen Sie eine Route zum Ändern von Passwörtern

Zuerst müssen wir eine Laravel-Route zum Ändern von Benutzerpasswörtern erstellen. Sie können den folgenden Code in die web.php-Datei einfügen:

Route::get('/password', 'UserController@password')->name('password');
Route::post('/password', 'UserController@updatePassword')->name('updatePassword');

Hier definieren wir eine GET- und POST-Route. Die GET-Route wird verwendet, um das Formular zum Ändern des Passworts anzuzeigen, und die POST-Route wird verwendet, um die Formulardaten zu senden und den Passwortaktualisierungsvorgang durchzuführen. Gleichzeitig sind UserController@password und UserController@updatePassword die beiden Controller-Methoden, die wir erstellen müssen.

Schritt 2: Erstellen Sie ein Formular zum Ändern des Passworts

Im Verzeichnis resources/views erstellen wir eine Ansichtsdatei „password.blade.php“, die das Formular zum Aktualisieren des Passworts enthält. Das Folgende ist der Beispielcode:

<form method="POST" action="{{ route(&#39;updatePassword&#39;) }}">
    {{ 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>

Es gibt drei Eingabefelder zur Eingabe des aktuellen Passworts, des neuen Passworts und zur Bestätigung des neuen Passworts. Die Übermittlungsadresse des Formulars wird auf den Routennamen festgelegt, den wir in der Route definiert haben.

Schritt 3: Controller-Methoden erstellen

Jetzt müssen wir zwei Methoden im UserController-Controller erstellen: Passwort und UpdatePassword. Hier ist der Beispielcode:

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.']);
    }
}

In der updatePassword-Methode überprüfen wir zunächst, ob die Formulareingabe den Regeln entspricht. Anschließend erhalten wir die aktuellen Benutzerdaten über die Methode Auth::user() und überprüfen dann über die Methode Hash::check(), ob das aktuelle Passwort mit dem Passwort in der Datenbank übereinstimmt. Wenn das Passwort erfolgreich übereinstimmt, hashen wir das neue Passwort mit der Methode Hash::make() und speichern es in der Datenbank.

Schritt 4: Funktion zur Passwortänderung testen

Jetzt haben wir die Route, das Formular und die Controller-Methode erstellt. Wir können auf die Seite zum Ändern des Passworts zugreifen, indem wir auf die Localhost-/Passwortadresse zugreifen und den von uns geschriebenen Code testen. Wenn alles gut geht, können wir Benutzern erlauben, ihre Passwörter zu ändern!

Fazit

Es ist sehr praktisch, das Benutzerpasswort in Laravel zu ändern. Wir müssen lediglich ein Formular, eine Route und eine Controller-Methode erstellen, um diese Funktionalität zu erreichen. Ich hoffe, dieser Artikel hilft Ihnen beim Ändern von Benutzerkennwörtern in Laravel.

Das obige ist der detaillierte Inhalt vonLassen Sie uns darüber sprechen, wie Sie das Benutzerkennwort in Laravel ändern. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn