yii2中发送手机号验证码
我们要知道 做发送手机号 要先在网上下载一个压缩包 也可以说是第三方插件
我用的云通讯上的一个压缩包
https://www.yuntongxun.com/?ly=baidu-pp-p&qd=cpc&cp=ppc&xl=null&kw=10230996
就是这个网址,进入这个网址 我们直接注册登录 也可以第三方登录 QQ与微信登录都可以。
登录完成以后点击控制台
如图
会出现以上这个图片 这个就是你id和密码了 这个要记住。接下开就是返回首页 点击文档帮助 里面么会有一个短信快速入门
点击进入 会出现一个这个页面 点击进入Demo示例里面。
点击这个Demo下载 进入下载php压缩包
选择一个路径直接下载就好了
然后从下载的压缩包里选取两个文件,一个在Demo里面的SendTemplateSMS.php ,一个是SDK里面的CCPRestSDK.php 一共这两个文件 其中那个SendTemplateSMS.php可以重命名。然后在yii2框架中web目录下创建一个public目录,把这两个文件放在public中,这样就好了
创建一个控制器 渲染一个你要发送手机号的页面
如图
引用一个jquery文件 也可以引用线上的jquery文件。
给提交按钮绑定一个点击事件 点击按钮的时候触发ajax,通过ajax把接收的id传送到我们创建的web下的public目录里的SendTemplateSMS.php中做处理。
点击过后最好是把发送验证码的那个按钮换成倒计时。如图
在jquery中添加一个倒计时方法
如图
以下是ajax传值的方法
如图
而且上面我们说到 在控制器中有 我们的id与密码 写进SendTemplateSMS.php中
如图
其中的AUTH TOKEN 是需要我们每次用这个的时候去获取他 点击查看 就会让你输入手机号发送验证码 输入验证码以后就直接给你这个 AUTH TOKEN的值了
配置这些,切记把页面中的echo 输出的语句全部注销 然后换成2个return false,1个return true
整完这些配置以后 就可以接受前台传到这个页面的值了,然后给值设置成随机数,最后判断是否发否发送成功
如图
如果发送成功 把验证码存到memcache中 方便在后台我们取值。也可以是redis存取值
如果发送成功 手机收到到了验证码 点击登录 把我们接受到的验证码传到后台验证是否于我们存进memcache中的验证码是否一样。
如图
这样子就是验证码登录了。 希望能帮到你。