YII2.0使用YII2-USER实现用户注册邮件验证

YII2-USER需要PHP7,否则会提示类似以下截图的错误:


使用WampServer安装好PHP7后,将系统环境变量Path中的php目录更改到PHP7,这是必须的步骤(我安装的是PHP7.2.5),要不安装YII2-USER时还会提示需要PHP7。如果你也使用WampServer,并且对WampServer支持多版本PHP有困难,可以查看我的另一篇博客:

WampServer支持多版本PHP配置

https://blog.csdn.net/waterlily_5/article/details/80375816

之后安装YII2的advanced框架,如果对安装YII2.0高级版程序有疑惑,也可以参照我的另一篇博客:

YII2.0使用归档文件安装advanced高级版

https://blog.csdn.net/waterlily_5/article/details/80330548

使用YII2-USER需要进行邮箱配置,参考

YII2.0使用阿里云邮件推送实现邮件发送
https://blog.csdn.net/waterlily_5/article/details/80316194

然后是创建数据库,我使用了默认的数据库名称yii2advanced,整理编码为utf8-unicode_ci。

然后是安装YII2-USER,安装YII2-USER使用composer进行安装。

首先需要使用cd命令将目录设置到网站目录


然后运行

composer require "dektrium/yii2-user:0.9.*@dev"

安装YII2-USER,命令运行之后大概是这样的:


安装YII2-USER完成之后配置前台frontend/config/main.php文件,在return中添加:

'modules' => [
    'user' => [
        'class' => 'dektrium\user\Module',
    ],
],

添加完成之后大概是这个样子:


然后修改frontend/views/layouts/main.php中的登录注册为yii2-user,修改的是注册登录注销的入口,修改之后是这样的

if (Yii::$app->user->isGuest) {
        $menuItems[] = ['label' => 'Signup', 'url' => ['/user/registration/register']];
        $menuItems[] = ['label' => 'Login', 'url' => ['/user/security/login']];
    } else {
        $menuItems[] = '<li>'
            . Html::beginForm(['/user/security/logout'], 'post')
            . Html::submitButton(
                'Logout (' . Yii::$app->user->identity->username . ')',
                ['class' => 'btn btn-link logout']
            )
            . Html::endForm()
            . '</li>';
    }

然后使用migrate实现数据迁移,我的数据库这时是空的,migrate会创建相应的表

yii migrate/up --migrationPath=@vendor/dektrium/yii2-user/migrations

运行时要求确认,输入yes


我运行之后是这个样子的


这时点击注册就可以看到这样的界面了


点击SignUp就可以注册用户了,提交之后大概是这样的


到邮箱中可以看到邮件


然后点击链接,会提示注册已经成功


  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值