laravel框架手机发送验证码

laravel框架手机发送验证码

https://blog.csdn.net/sunny_lg/article/details/52471225

现在登录注册时 我们的验证方法 不在单一化  手机发送验证码 已经成为常态 让我们 一起来实现以下吧 !

首先我们要先找短信的接口 我用的是  云信使   这里是他的地址http://sms.sms.cn/login.php?cgh 大家可以去注册一下

1.进入视图

   

<ul class="register">
<li>
<label>手机号:</label>
<input class="ipt-box tel-bg" value="" id="regi_mobile" type="text">
</li>
<li>
<label>验证码:</label>
<input class="code" value="六位数字验证码" id="validatecode" type="text">
<input class="code" οnclick='duanxin()' value="获取验证码" type="button">
</li>
</ul>

 

<script src="js/jquery.js"></script>
<script>
    function duanxin() {
//获取手机ID
        var iphone = $("#regi_mobile").val();
        $.ajax({
            url: 'registers',
            data: {'iphone': iphone},
            type: "GET",
            dataType: "Json",
            success: function (msg) {
                if (msg['stat'] == '100') {
                    alert('短信发送成功了');
                } else {
                    alert('短信发送失败了');
                }

            }
        });
    }
</script>

2. 路由

Route::any('registers','LoginController@loginDo');

3.进入控制器

public function loginDo()
{
    $iphone = $_GET['iphone'];
    $code = rand(1000, 9999);
    setcookie('code', $code, time() + 600);
//把URL地址改成你自己就好了,把手机号码和信息模板套进去就行
    $url = 'http://api.sms.cn/sms/?=send&uid=XXX&pwd=61dfa5a45c06bf691767d35bcb197595&template=384859&mobile=' . $iphone . '&content={"code":"' . $code . '"}'
$data = array();
$method = 'GET';
$res = $this->curlPost($url, $data, $method);
echo $res;
}

/*curlpost传值*/
public function curlPost($url, $data, $method)
{
    $ch = curl_init(); //1.初始化
    curl_setopt($ch, CURLOPT_URL, $url); //2.请求地址
    curl_setopt($ch, CURLOPT_CUSTOMREQUEST, $method);//3.请求方式
//4.参数如下
    curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);//https
    curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE);
    curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/5.0 (compatible; MSIE 5.01; Windows NT 5.0)');//模拟浏览器
    curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
    curl_setopt($ch, CURLOPT_AUTOREFERER, 1);
    curl_setopt($ch, CURLOPT_HTTPHEADER, array('Accept-Encoding: gzip, deflate'));//gzip解压内容
    curl_setopt($ch, CURLOPT_ENCODING, 'gzip,deflate');
    if ($method == "POST") {//5.post方式的时候添加数据
        curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
    }
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    $tmpInfo = curl_exec($ch);//6.执行
    if (curl_errno($ch)) {//7.如果出错
        return curl_error($ch);
    }
    curl_close($ch);//8.关闭
    return $tmpInfo;
} 

 

 

4. 这样就好了  大家快测试一下吧!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/113027.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • javascript按位异或(^)[通俗易懂]

    javascript按位异或(^)[通俗易懂]varnum1=25;varnum2=3;alert(num1^num2);//输出:26;对两个数值的二进制写法进行比较,只有当相同位置上的数字只有一个1时,才返回1,有两个1或者都是0则返回0,然后转换成十进制数值;

    2022年6月5日
    34
  • GDI绘制_matlab中intlinprog函数用法

    GDI绘制_matlab中intlinprog函数用法设备上下文绘图有很多种方法。例如通过创建位图画刷,利用其填充一个区域来实现图像的绘制。此外,还可以使用CDC类的位图函数来输出位图到设备上下文中。BitBlt用于从原设备中复制位图到目标设备,语法格式如下:BOOLBitBlt(intx,inty,intnWidth,intnHeight,CDC*pSrcDC,intxSrc,intySrc,DWORDdwRop);x:目

    2022年10月18日
    0
  • 一台服务器可以干什么

    一台服务器可以干什么

    2021年10月3日
    48
  • Ubuntu 18.04配置及美化 (20.04 基本相同)

    Ubuntu 18.04配置及美化 (20.04 基本相同)Ubuntu的基础配置、常用软件安装以及美化

    2022年6月29日
    60
  • Location hash 属性

    Location hash 属性hash属性是一个可读可写的字符串,该字符串是URL的锚部分(从#号开始的部分)。实例返回一个URL的主要部分。假设当前的URL是http://www.runoob.com/test.htm#PART2document.write(location.hash);以上实例输出结果:#part2…

    2022年7月13日
    17
  • CubieBoard 简单入门

    CubieBoard 简单入门大约一个月之前折腾的部分记录,当时没有完全完成,就着手其他事情了,这是存在LiveWriter中的草稿,先发出来吧,后来花了一段时间移植Qt,一直遇到了点问题,并没有完全跑通,后续估计也没有时间再继

    2022年7月4日
    20

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号