0

0

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

藏色散人

藏色散人

发布时间:2021-10-28 11:43:39

|

5017人浏览过

|

来源于php中文网

原创

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

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

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

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

PHP实现发送短信验证码:

一、html代码

立即学习PHP免费学习笔记(深入)”;

国洋商务通
国洋商务通

Gyb2b V1.01免费版可终身使用,是一款功能强大的B2B电子商务应用软件。该软件不仅更新和修改了V1.0相关功能,更是采用了目前互联网上最流行的LAMP组合(Linux+Apache+Mysql+PHP)开发完成,模板技术实现了界面与代码的有效分离,用户可以快速地在此基础上编译模板;提供B2B电子商务应用最常见的求购、供应、商品、公司库、行业资讯、商圈、资信认证、在线交易、交易评分、留言、搜

下载
  • 手机号码:
  • 验证码: 获取验证码
  • 二、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://smssh1.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速学教程(入门到精通)
    PHP速学教程(入门到精通)

    PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

    下载

    相关标签:

    本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

    相关专题

    更多
    php文件怎么打开
    php文件怎么打开

    打开php文件步骤:1、选择文本编辑器;2、在选择的文本编辑器中,创建一个新的文件,并将其保存为.php文件;3、在创建的PHP文件中,编写PHP代码;4、要在本地计算机上运行PHP文件,需要设置一个服务器环境;5、安装服务器环境后,需要将PHP文件放入服务器目录中;6、一旦将PHP文件放入服务器目录中,就可以通过浏览器来运行它。

    2525

    2023.09.01

    php怎么取出数组的前几个元素
    php怎么取出数组的前几个元素

    取出php数组的前几个元素的方法有使用array_slice()函数、使用array_splice()函数、使用循环遍历、使用array_slice()函数和array_values()函数等。本专题为大家提供php数组相关的文章、下载、课程内容,供大家免费下载体验。

    1600

    2023.10.11

    php反序列化失败怎么办
    php反序列化失败怎么办

    php反序列化失败的解决办法检查序列化数据。检查类定义、检查错误日志、更新PHP版本和应用安全措施等。本专题为大家提供php反序列化相关的文章、下载、课程内容,供大家免费下载体验。

    1493

    2023.10.11

    php怎么连接mssql数据库
    php怎么连接mssql数据库

    连接方法:1、通过mssql_系列函数;2、通过sqlsrv_系列函数;3、通过odbc方式连接;4、通过PDO方式;5、通过COM方式连接。想了解php怎么连接mssql数据库的详细内容,可以访问下面的文章。

    952

    2023.10.23

    php连接mssql数据库的方法
    php连接mssql数据库的方法

    php连接mssql数据库的方法有使用PHP的MSSQL扩展、使用PDO等。想了解更多php连接mssql数据库相关内容,可以阅读本专题下面的文章。

    1416

    2023.10.23

    html怎么上传
    html怎么上传

    html通过使用HTML表单、JavaScript和PHP上传。更多关于html的问题详细请看本专题下面的文章。php中文网欢迎大家前来学习。

    1234

    2023.11.03

    PHP出现乱码怎么解决
    PHP出现乱码怎么解决

    PHP出现乱码可以通过修改PHP文件头部的字符编码设置、检查PHP文件的编码格式、检查数据库连接设置和检查HTML页面的字符编码设置来解决。更多关于php乱码的问题详情请看本专题下面的文章。php中文网欢迎大家前来学习。

    1445

    2023.11.09

    php文件怎么在手机上打开
    php文件怎么在手机上打开

    php文件在手机上打开需要在手机上搭建一个能够运行php的服务器环境,并将php文件上传到服务器上。再在手机上的浏览器中输入服务器的IP地址或域名,加上php文件的路径,即可打开php文件并查看其内容。更多关于php相关问题,详情请看本专题下面的文章。php中文网欢迎大家前来学习。

    1306

    2023.11.13

    Java 桌面应用开发(JavaFX 实战)
    Java 桌面应用开发(JavaFX 实战)

    本专题系统讲解 Java 在桌面应用开发领域的实战应用,重点围绕 JavaFX 框架,涵盖界面布局、控件使用、事件处理、FXML、样式美化(CSS)、多线程与UI响应优化,以及桌面应用的打包与发布。通过完整示例项目,帮助学习者掌握 使用 Java 构建现代化、跨平台桌面应用程序的核心能力。

    36

    2026.01.14

    热门下载

    更多
    网站特效
    /
    网站源码
    /
    网站素材
    /
    前端模板

    相关下载

    更多

    精品课程

    更多
    相关推荐
    /
    热门推荐
    /
    最新课程
    PHP课程
    PHP课程

    共137课时 | 8.6万人学习

    JavaScript ES5基础线上课程教学
    JavaScript ES5基础线上课程教学

    共6课时 | 7万人学习

    PHP新手语法线上课程教学
    PHP新手语法线上课程教学

    共13课时 | 0.9万人学习

    关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
    php中文网:公益在线php培训,帮助PHP学习者快速成长!
    关注服务号 技术交流群
    PHP中文网订阅号
    每天精选资源文章推送

    Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号