1.Built ein Passwort vergessen Form:
<h2>Reset Email</h2>
<form method="POST" role="form" action="{{url('auth/token')}}">
{!! csrf_field() !!}
<input class="form-control" type="email" name="email" placeholder="Email Address" /><br>
<button type="submit" class="btn btn-default">Send Reset link</button>
</form>
2.token() Methode in der Steuerung: Aktualisieren der remember_token
des Benutzers mit E-Mail zur Verfügung gestellt. E-Mail-Link an den Benutzer mit diesem Token und Benutzernamen als Parameter. Hier ich gerade bin wieder auf den Link
public function token(Request $request)
{
$token = str_shuffle('abcdefgh1234567890xsYsdsew');
$getEmail=$request->get('email');
$getModel=User::where(['email'=>$getEmail])->first();
if($getModel)
{
$getModel->remember_token=$token;
$getModel->update();
return '/auth/reset/'.$getModel->username.'/'.$token;
}
else
{
return redirect('/login')->with('message','Email doesnot exist!');
}
}
3.reset() -Methode: Wenn das Token und Benutzernamen in der Datenbank das Token und E-Mail in der Verbindung von E-Mail übereinstimmt, umleiten Benutzer Formularansicht zu ändern.
public function reset($username, $token)
{
$getModel=User::where(['username'=>$username])->first();
if($getModel->remember_token==$token)
{
return View('auth.change', ['id' =>$getModel->id]);
}
else
{
return redirect('/auth/forgot');
}
}
Passwort zurücksetzen Form:
<h2>Reset Password</h2>
<form method="POST" id="reset" role="form" action="{{url('/auth/change')}}">
{!! csrf_field() !!}
<input class="form-control" type="password" id="password" name="password" placeholder="New Password" /><br>
<input class="form-control" type="password" name="cpassword" placeholder="Confirm Password" /><br>
<input type="hidden" name="id" value="<?php echo $id;?>">
<button type="submit" class="btn btn-default">Change password</button>
</form>
Änderung() -Methode:
public function change(Request $request)
{
$getid=$request->get('id');
$getModel=User::where(['id'=>$getid])->first();
$password=Hash::make($request->get('password'));
$getModel->password=$password;
$getModel->update();
return redirect('/auth/login')
->with('message','Password changed!');
}
Aber ich ziehe integrierte Funktion.
Nur um klar zu sein ..... Sie wollen die gleiche Funktionalität, die Laravel Sie aus der Box gibt, aber schreiben Sie es auf eigene Faust und Fragen für Schritte? Wenn das anwser ja ist .... copy & paste Laravel Code in Ihre eigenen Dateien und das ist das .... gute Arbeit :) – Bostjan
Es ist wie das Rad neu erfinden. Abgesehen davon finden Sie nichts unangemessenes dabei. Möglicherweise ist das für Ihre Implementierung nicht geeignet. Froh, wenn Sie teilen könnten. – Gayan