文档章节

PHP手机短信注册验证码,后台代码怎么写?

 茉莉花开
发布于 2017/06/25 11:07
字数 671
阅读 184
收藏 0

现在会员制的网站和app越来越多,基本上都要求客户手机注册,用户看起来很简单的一个流程,后台程序确十分复杂,身为PHP开发者,后台的相应代码如果写?今天我就来分享一下注册验证码相关demo

<?php
/* *
 * 类名:smsApi
 * 功能:硕达通短信接口请求类(网站:www.shdat.com)
 * 详细:构造硕达通短信接口请求,获取远程HTTP数据
 * 版本:1.0
 * 日期:2017-02-19
 * 说明:
 * 以下代码只是为了方便客户测试而提供的样例代码,客户可以根据自己网站的需要,按照技术文档自行编写,并非一定要使用该代码。
 * 该代码只是提供一个参考。
 */
class shuodaSmsApi {

    //企业ID
    private $userId;

    //账号 替换成你自己的账号
    private $account;

    //密码 替换成你自己的密码
    private $password;


    //构造函数
    public function __construct($userId,$account,$password){
        $this->userId = $userId;
        $this->account = $account;
        $this->password = $password;
    }
    /**
     * 发送短信
     *
     * @param string $mobile 手机号码
     * @param string $content 短信内容(短信的内容,内容需要UTF-8编码)
     * @param string $sendTime 定时发送时间(为空表示立即发送,定时发送格式2017-02-19 18:00:00)
     * @param string $extno   扩展子号
     */
    public function send($mobile,$content, $sendTime='', $extno=''){
            //接口URL
            $url = 'http://115.28.172.169:8888/sms.aspx';
            $action = 'send';
            $data = array (
                  'userid' => $this->userId,
                  'account' => $this->account,
                  'password' => $this->password,
                  'mobile' => $mobile,
                  'content' => $content,
                  'sendTime' => $sendTime,
                  'action' => $action,
                  'extno' => $extno
            );
            $result = $this->curl($url,$data);
            return $result;
    }

    /**
    *余额及已发送量查询接口
    *
    **/
    public function overAge() {
            $url = 'http://115.28.172.169:8888/sms.aspx';
            $action = 'overage';
            $data = array (
                  'userid' => $this->userId,
                  'account' => $this->account,
                  'password' => $this->password,
                  'action' => $action,
            );
            $result = $this->curl($url,$data);
            return $result;
    }


    /**
    *非法关键词查询接口
    * @param string $content 检测发送内容
    */
    public function checkKeyWord($content){
            $url = 'http://115.28.172.169:8888/sms.aspx';
            $action = 'checkkeyword';
            $data = array (
                  'userid' => $this->userId,
                  'account' => $this->account,
                  'password' => $this->password,
                  'action' => $action,
                  'content' => $content,
            );
            $result = $this->curl($url,$data);
            return $result;

    }


    /**
    *状态报告接口
    *
    */
    public function queryStatus(){
            $url = 'http://115.28.172.169:8888/statusApi.aspx';
            $action = 'query';
            $data = array (
                  'userid' => $this->userId,
                  'account' => $this->account,
                  'password' => $this->password,
                  'action' => $action,
            );
            $result = $this->curl($url,$data);
            return $result;
    }


    /**
    *上行接口
    *
    */
    public function call(){
            $url = 'http://115.28.172.169:8888/callApi.aspx';
            $action = 'query';
            $data = array (
                  'userid' => $this->userId,
                  'account' => $this->account,
                  'password' => $this->password,
                  'action' => $action,
            );
            $result = $this->curl($url,$data);
            return $result;
    }


    /**
     * 通过CURL发送HTTP请求
     * @param string $url  //请求URL
     * @param array $postFields //请求参数 
     * @return mixed
     */
    private function curl($url,$data,$method='get'){
        $ch = curl_init ();
        curl_setopt ( $ch, CURLOPT_HEADER, 0 );
        curl_setopt ( $ch, CURLOPT_RETURNTRANSFER,1);
        if($method=='get'){
            $url = $url.'?'.http_build_query($data);
            curl_setopt ($ch,CURLOPT_URL,$url);
        }elseif($method=='post'){
            curl_setopt($ch,CURLOPT_POST,1);
            curl_setopt($ch,CURLOPT_POSTFIELDS,$data);
        }
        $result = curl_exec ( $ch );
        curl_close ( $ch );
        return $result;
    }
}           


?>                                                                                                                             

测试示例:

<?php
    include('shuodaSdk.php');
    $userId = '45';
    $account = 'ceshi';
    $password = 'CEshi123';

    $shuodaSdk = new shuodaSmsApi($userId,$account,$password);
    $mobile = '13800138000';
    $content = '【硕达科技】您本次的验证码是:852369,如非本人请忽略';
    $result = $shuodaSdk->send($mobile,$content); 
    //$result = $shuodaSdk->overAge();
    //$result = $shuodaSdk->checkKeyWord('诈骗');
    //$result = $shuodaSdk->queryStatus();
    //$result = $shuodaSdk->call();
    var_dump($result);
?>

© 著作权归作者所有

粉丝 0
博文 1
码字总数 671
作品 0
朝阳
私信 提问
使用聚合数据API查询快递数据-短信验证码-企业核名

文章来源:http://www.cnblogs.com/annie00/p/5810326.html 有位朋友让我给他新开的网站帮忙做几个小功能,如下: 输入快递公司、快递单号,查询出这个快件的所有动态(从哪里出发,到了哪里...

熊babi
2016/08/30
926
1
php利用云片网实现短信验证码功能

本文将以php举例,介绍网页短信验证码功能的实现。 在众多的第三方短信服务商中我选择了云片网这个短信服务商,本文也将尽可能利用最简单的方式去帮助广大开发者解决短信验证码功能模块的实现...

爱前端的小白
2017/11/17
0
0
Shopnc 手机短信绑定设计研究参考

一直以来我对短信方面的PHP接口代码研究不多,这里我对shopnc的代码设计方面做了一下研究,解释。 具体操作如下: 前台新用户注册后,账户安全栏的绑定手机,然后就是手机验证啦,这里需要输...

slagga
2016/10/26
62
0
Spring MVC短信验证码的实现

在外部网站中短信的验证很有必要,比如在实现注册、验证用户信息等的情况下。在SpringMVC中的实现如下: 短信接口 短信接口,有些企业会购买的有移动的短信平台接口。如果是个人或者是小企业...

beibugulf
2016/09/30
1K
0
发送短信验证码和邮箱验证码—Java实现

短信验证码 短信验证码都是调用一些接口来进行短信的发送,短信验证码在登录、注册等操作中使用的最广泛,本文这一节演示如何使用Java制作一个简单的短信验证码登录。 我这里演示使用的是聚合...

ZeroOne01
2017/11/21
0
0

没有更多内容

加载失败,请刷新页面

加载更多

Guava 3: 集合Collections

正文 一、引子 Guava 对JDK集合的拓展,是最成熟且最受欢迎的部分。本文属于Guava的核心,需要仔细看。 二、Guava 集合 2.1 Immutable Collections不可变集合 1.作用 用不变的集合进行防御性...

孟飞阳
10分钟前
2
0
源码分析 RocketMQ DLedger 多副本存储实现

RocketMQ DLedger 的存储实现思路与 RocketMQ 的存储实现思路相似,本文就不再从源码角度详细剖析其实现,只是点出其实现关键点。我们不妨简单回顾一下 CommitLog 文件、ConsumeQueue 文件设...

中间件兴趣圈
15分钟前
2
0
vue入门--简单路由配置

本文转载于:专业的前端网站➜vue入门--简单路由配置   在初始化vue init webpack <工程名>时,有一步是询问是否安装vue-router,选择yes,如果没有安装的话,后面需要自己安装。然后在目录...

前端老手
45分钟前
5
0
怎么给视频配音

很多刚开始尝试视频制作的小伙伴,帮助到怎么给制作完成的视频配音,其实给视频配音的方法非常简单,在手机上可以进行制作,下面一起来看看给视频配音的方法吧! 具体步骤如下: 1、首先在手...

白米稀饭2019
54分钟前
4
0
windows批处理bat脚本编写

什么是bat脚本 .bat结尾的文件其实就是windows上的批处理脚本,Windows中的bat文件相当于 Linux中shell编程的.sh脚本,批量执行DOS命令。 其最简单的例子,是逐行书写在命令行中会用到的各种...

孙幼凌
今天
4
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部