现在会员制的网站和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);
?>