php如何实现发送验证码的功能

这篇文章给大家分享的是有关php如何实现发送验证码的功能的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。

创新互联网站建设公司一直秉承“诚信做人,踏实做事”的原则,不欺瞒客户,是我们最起码的底线! 以服务为基础,以质量求生存,以技术求发展,成交一个客户多一个朋友!专注中小微企业官网定制,成都网站制作、成都做网站,塑造企业网络形象打造互联网企业效应。

php实现发送验证码功能的方法:1、创建好HTML和js文件;2、创建“Msm.php”文件,内容为“public function sendmsm(){...}”;3、通过CURL发送HTTP请求即可。

本文操作环境:Windows7系统、PHP7.1版、DELL G3电脑

php怎么实现发送验证码的功能?

PHP实现发送短信验证码:

一、html代码

  • 手机号码:
  • 验证码: 短信验证码" name="phonecode"> 获取验证码
  • 二、js代码

    /**
     * 发送验证码
     * @return {[type]} [description]
     */
    function get_svg() {
    var phone = $("input[name='telephone']").val();
     
    if (!(/^1[34578]\d{9}$/.test(phone))) {
    layer.msg("请正确输入手机号!");
    return false;
    }
     
    var url = "/msm/sendmsm/phone/" + phone;
    $.get(url, function (resdata) {
    console.log(resdata);
    layer.msg(resdata.data);
    if (resdata.type == 1) {
    $(".code_btn").attr('onclick', "return false;");
    listion_sendmsm();
    }
    })
    return false;
    }
     
    function listion_sendmsm() {
    var time = 61;
    setTime = setInterval(function () {
    if (time <= 1) {
    clearInterval(setTime);
    $(".code_btn").text("再发一次");
    $(".code_btn").attr('onclick', "return get_svg();");
    return;
    }
    time--;
    $(".code_btn").text(time + "s");
     
    }, 1000);
    }

    三、PHP代码实现

    Msm.php

    /**
     * 发送短信
     * @author 
     * @return [type] [description]
     */
    public function sendmsm()
    {
    $phone = input('phone');
     
    if(!$phone){
    return WPreturn('请输入手机号码!',-1);
    }
     
    $code = rand(1000,9999);
    $_SESSION['code'] = $code;
    $res = sendmessage($code ,$phone);
    if($res){
    return WPreturn('发送成功',1);
    }else{
    return WPreturn('发送验证码失败!',-1);
    }
    }
     
    /* *
    * 类名:ChuanglanSmsApi
    * 功能:创蓝短信接口请求类
    * 详细:构造创蓝短信接口请求,获取远程HTTP数据
    * 说明:
    * 以下代码只是样例代码,使用第三方创蓝发送短信接口。
    * 该代码仅供学习,只是提供一个参考。
    */
    public function sendmessage($code, $telephone)
    {
    $conf = getconf('');
     
    if(!$code){
    return false;
    }
     
    if(!$telephone){
    return false;
    }
    $content = "您的验证码是:{$code},如非本人操作,请忽略此短信。";
    //创蓝接口参数
    $postArr = array (
    'account'  =>  $conf['msm_appkey'],
    'password' => $conf['msm_secretkey'],
    'msg' => urlencode($content),
    'phone' => $telephone,
    'report' => true
    );
     
    $result = $this->curlPost("http://smssh2.253.com/msg/send/json", $postArr);
    $json = json_decode($result);
    if($json -> code != 0){
    return false;
    }else{
    return true;
    }
    }
     
    /**
     * 通过CURL发送HTTP请求
     * @param string $url  //请求URL
     * @param array $postFields //请求参数 
     * @return mixed
     *  
     */
    private function curlPost($url,$postFields){
    $postFields = json_encode($postFields);
    $ch = curl_init ();
    curl_setopt( $ch, CURLOPT_URL, $url ); 
    curl_setopt( $ch, CURLOPT_HTTPHEADER, array(
    'Content-Type: application/json; charset=utf-8'   //json版本需要填写  Content-Type: application/json;
    )
    );
    curl_setopt($ch, CURLOPT_IPRESOLVE, CURL_IPRESOLVE_V4); 
    curl_setopt( $ch, CURLOPT_RETURNTRANSFER, 1 );
    curl_setopt( $ch, CURLOPT_POST, 1 );
    curl_setopt( $ch, CURLOPT_POSTFIELDS, $postFields);
    curl_setopt( $ch, CURLOPT_TIMEOUT,60); 
    curl_setopt( $ch, CURLOPT_SSL_VERIFYHOST, 0);
    curl_setopt( $ch, CURLOPT_SSL_VERIFYPEER, 0);
    $ret = curl_exec ( $ch );
    if (false == $ret) {
    $result = curl_error(  $ch);
    } else {
    $rsp = curl_getinfo( $ch, CURLINFO_HTTP_CODE);
    if (200 != $rsp) {
    $result = "请求状态 ". $rsp . " " . curl_error($ch);
    } else {
    $result = $ret;
    }
    }
    curl_close ( $ch );
    return $result;
    }

    感谢各位的阅读!关于“php如何实现发送验证码的功能”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识,如果觉得文章不错,可以把它分享出去让更多的人看到吧!


    网站标题:php如何实现发送验证码的功能
    文章源于:http://abwzjs.com/article/ppicij.html