Php 如何更改Laravel 5中的默认重置密码链接
管理员登录后,我在我的Laravel 5应用程序中使用更改密码功能。我使用laravel提供的默认表单更改密码功能,当用户单击“发送密码重置链接”时,该功能将重定向到/userpasswords/email。已使用邮件id发送邮件,但我想更改此url。我的url变为通过电子邮件id发送的url 但我希望它是一样的。我怎么能做到这一点,我是新来的拉威尔,所以请有人帮助。我的代码如下:Php 如何更改Laravel 5中的默认重置密码链接,php,laravel,laravel-5,Php,Laravel,Laravel 5,管理员登录后,我在我的Laravel 5应用程序中使用更改密码功能。我使用laravel提供的默认表单更改密码功能,当用户单击“发送密码重置链接”时,该功能将重定向到/userpasswords/email。已使用邮件id发送邮件,但我想更改此url。我的url变为通过电子邮件id发送的url 但我希望它是一样的。我怎么能做到这一点,我是新来的拉威尔,所以请有人帮助。我的代码如下: <?php echo Form::open(array('url' => '/userpassword
<?php echo Form::open(array('url' => '/userpasswords/email', 'method' => 'post','class'=>'form-horizontal')); ?>
<input type="hidden" name="_token" value="{{ csrf_token() }}">
<div class="form-group">
<label class="col-md-4 control-label">E-Mail Address</label>
<div class="col-md-6">
<input type="email" class="form-control" name="email" value="{{ Auth::user()->email }}" readonly>
</div>
</div>
<div class="form-group">
<div class="col-md-6 col-md-offset-4">
<button type="submit" class="btn btn-primary">
Send Password Reset Link
</button>
</div>
</div>
]))
UserPasswordController与PasswordController相同,但它使用了不同的特征ResetPasswords,与ResetPasswords相同,只是略有变化。我在ResetPasswords中的postEmail方法如下:
public function postEmail(Request $request)
{
$this->validate($request, ['email' => 'required|email']);
$response = $this->passwords->sendResetLink($request->only('email'), function($m)
{
$m->subject($this->getEmailSubject());
});
switch ($response)
{
case PasswordBroker::RESET_LINK_SENT:
return redirect()->back()->with('status', trans($response));
case PasswordBroker::INVALID_USER:
return redirect()->back()->withErrors(['email' => trans($response)]);
}
}
有人请帮助我如何更改Url。您可以编辑或创建此视图以更改要发送的内容
<!-- resources/views/emails/password.blade.php -->
Click here to reset your password: {{ url('userpasswords/reset/'.$token) }}
单击此处重置密码:{{url('userpasswords/reset/'.$token)}
我想在blade中再使用一个变量。比如{{user_role}}。如何传递变量?
<!-- resources/views/emails/password.blade.php -->
Click here to reset your password: {{ url('userpasswords/reset/'.$token) }}
<?php
namespace App\Http\YourControllers;
use Illuminate\Foundation\Auth\SendsPasswordResetEmails;
class YourControllers extends Controller
{
use SendsPasswordResetEmails;
public function resetPassLink(Request $request)
{
$response = $this->broker()->sendResetLink(['email' => $request->get('email')]);
if ($response) {
return view('...')->with('message', 'We have e-mailed your password reset link!');
}
}
}