忘记密码表单 - Yii2 - 基本



我需要一条线索,如何有一个被遗忘的电子邮件"表单"向某个用户(邮箱)发送代码,当他单击"代码"重置密码时,他正在重定向网站,然后他更新了他的"忘记密码",我忘记了.php"站点"文件夹中的页面,但有人可以给我一些线索,SiteController中的逻辑等。

忘记了.php(忘记密码的表格)

<h1><?= Html::encode($this->title) ?></h1>
<?php $form = ActiveForm::begin(); ?>
  <?= $form->field($model, 'email') ?>
  <div class="form-group">
    <div class="col-lg-offset-1 col-lg-11">
      <?= Html::submitButton('Submit', ['class' => 'btn btn-primary'])?>
    </div>
  </div>
  <div>
<?php ActiveForm::end(); ?>

在控制器中:

  1. 从上面的电子邮件表单通过电子邮件检查数据库中的用户,是否存在?
  2. 存在 ->生成reset_token+时间戳,并向用户发送电子邮件 链接+令牌+时间戳+电子邮件
  3. 用户访问链接,显示新密码的表格+重复密码。但您需要按时间(例如:30 分钟)设置令牌有效性。
  4. 如果令牌有效,用户可以更改密码。 否则,再次重定向至"页面重置"诊断树

最新更新