Php 如何通过电子邮件在Laravel 5.4中重置密码
当用户单击密码重置按钮时,如何将密码重置链接发送到他们的电子邮件 我有一张表格Php 如何通过电子邮件在Laravel 5.4中重置密码,php,laravel,laravel-5.4,Php,Laravel,Laravel 5.4,当用户单击密码重置按钮时,如何将密码重置链接发送到他们的电子邮件 我有一张表格 <form action="/company/password/reset/" method="POST"> {{ csrf_field() }} <div class="row"> <div class="input-field col s12"> <input placeholder="Enter your
<form action="/company/password/reset/" method="POST">
{{ csrf_field() }}
<div class="row">
<div class="input-field col s12">
<input placeholder="Enter your email" id="emails" type="email" class="validate" required name="email">
<label for="emails">E-mail Address</label>
</div>
</div>
<p><button type="submit" method="post">SUBMIT</button></p>
</form>
和控制器
public function company($email)
{
$company = $request->email;
Password::sendResetLink(['email' => $company]);
}
现在不行,这是正确的方法吗
我在laravel 5.4中找不到任何关于重置密码的教程
我得到这个错误:
用户必须实现CanResetPassword接口
如果表单的操作为/company/password/reset/,则路由应定义为
Route::post('/password/company/reset/','PasswordResetController@company');
可以在控制器中检索表单的输入,如下所示:
public function company(Request $request) {
$email = $request->email;
...
报告明确指出:
要开始,请验证您的App\User模型是否实现了light\Contracts\Auth\CanResetPassword契约。当然,框架中包含的App\User模型已经实现了这个接口,并使用light\Auth\Passwords\CanResetPassword特性来包含实现该接口所需的方法
由于您有一些自定义的用户模型,因此需要执行此合同才能使用Password::sendResetLink谢谢。但是我如何发送密码重置链接;显然这不起作用,有没有这样的方法来发送重置链接?请阅读,有许多条件需要满足才能使其起作用。我建议检查日志并用相关错误消息更新问题。运动部件太多,无法做出有根据的猜测。用户可能不存在,电子邮件传输可能配置错误等。我收到此错误-用户必须实现CanResetPassword接口。亲爱的@ChrisMkp,我已经更新了您的问题,但您确实应该自己更新。请参阅更新的答案如何解决问题。
public function company(Request $request) {
$email = $request->email;
...