精品深夜福利视频,日本中文字幕不卡,久久久久国产,av综合电影网站


待發短信

在線客服
產品支持 短信寶客服
合作渠道 渠道合作
服務咨詢

4001-021-502

工作時間

9:00-21:00

帝國CMS新增短信寶短信接口

帝國CMS是基于B/S結構,安全、穩定、強大、靈活的網站管理系統.還提供了系統擴展框架。小編對這款系統還比較了解,今天就以替換短信接口為例為大家講解一下如何進行二次開發,我們今天講解的是7.5版本,使用的短信接口是我們短信寶短信群發平臺的短信接口,我們短信寶短信群發平臺非常穩定,發送速度快,注冊就送測試短信,推薦大家使用!

打開項目upload/e/admin創建一個smsbao文件夾,在smsbao文件夾下創建一個smsbao.php文件,文件代碼如下:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
<?php
header('Content-Type:text/html;charset=UTF-8');
/**
 * SmsBao實現類
 * @category   帝國cms
 * @package  帝國cmsV7.2
 * @subpackage  Sms
 * @author    linf
 */
class Sms{
    private $account;//短信寶賬戶
    private $password;//密碼
    private $balance;//短信剩余條數
    const sendSmsUrl = "http://api.smsbao.com/sms";
    const queryBalanceUrl = "http://api.smsbao.com/query";
    /**
     * 架構函數
     * @access public
     * @param string $account  在短信寶注冊的賬戶名
     * @param string $password  在短信寶注冊的賬戶名的密碼
     */
    public function __construct($account,$password) {
        if (empty($account) || empty($password)) {
           echo "用戶名和密碼不可為空!";
        }
        $this->account = $account;
        $this->password = $password;
    }
    
    /**
     * 發送短信函數
     * @access public
     * @param string $mobile  手機號,多個手機號用英文逗號分隔
     * @param string $content  發送內容
     * @return array 返回值為數組,其中status為0表明發送成功,其他情況下發送失敗,失敗原因為msg
     */
    public function sendSms($mobile,$content){
        $param['u'] = $this->account;
        $param['p'] = md5($this->password);
        $param['m'] = $mobile;
        $param['c'] = $content;
        //$param['c'] = iconv('UTF-8', 'GBK2312//IGNORE', $content);
        $ret = self::http(self::sendSmsUrl, $param);
        //$data['status'] = $ret;
        $data $ret == 0 ?'0' : self::getResult($ret);
        return $data;
    }
    
    /**
     * 獲取短信剩余條數函數
     * @access public
     */
    public function getBalance(){
        $param['u'] = $this->account;
        $param['p'] = md5($this->password);
        $ret = self::http(self::queryBalanceUrl, $param);
        $retArr = split("\n"$ret);
        $balanceArr = split(","$retArr[1]);
        $this->balance = $retArr[0] == 0 ? $balanceArr[1] : self::getResult($ret);
        return $this->balance;
    }
   /**
     * 發送http請求
     * @access protected
     * @param string $url  請求地址
     * @param string $param  get方式請求內容,數組形式,post方式時無效
     * * @param string $data  post請求方式時的內容,get方式時無效
     * @param string $method  請求方式,默認get
     */
    protected static function http($url$param$data ''$method 'GET'){
        $opts array(
            CURLOPT_TIMEOUT        => 30,
            CURLOPT_RETURNTRANSFER => 1,
            CURLOPT_SSL_VERIFYPEER => false,
            CURLOPT_SSL_VERIFYHOST => false,
        );
    
        /* 根據請求類型設置特定參數 */
        $opts[CURLOPT_URL] = $url '?' . http_build_query($param);
    
        if(strtoupper($method) == 'POST'){
            $opts[CURLOPT_POST] = 1;
            $opts[CURLOPT_POSTFIELDS] = $data;
    
            if(is_string($data)){ //發送JSON數據
                $opts[CURLOPT_HTTPHEADER] = array(
                    'Content-Type: application/json; charset=utf-8',
                    'Content-Length: ' strlen($data),
                );
            }
        }
    
        /* 初始化并執行curl請求 */
        $ch = curl_init();
        curl_setopt_array($ch$opts);
        $data  = curl_exec($ch);
        $error = curl_error($ch);
        curl_close($ch);
    
        //發生錯誤,拋出異常
        if($errorthrow new Exception('請求發生錯誤:' $error);
    
        return  $data;
    }
    private function getResult($key){
        $rst['30'] = '密碼錯誤';
        $rst['40'] = '賬號不存在';
        $rst['41'] = '余額不足';
        $rst['42'] = '帳號過期';
        $rst['43'] = 'IP地址限制';
        $rst['50'] = '內容含有敏感詞';
        $rst['51'] = '手機號碼不正確';
        return $rst[$key];
    }
}
?>

然后我們修改前端的模板頁面,打開項目upload/e/template/member/register.php文件,修改63~72行左右的代碼:

?
1
2
3
4
5
6
7
8
9
10
11
   <tr>
      <td height="25" bgcolor="#FFFFFF"> <div align='left'>手機號碼</div></td>
      <td height="25" bgcolor="#FFFFFF">
          <input name='phone' type='text' id='phone' maxlength='50' value="<?=$ecmsfirstpost==1?"":ehtmlspecialchars(stripSlashes($addr[phone]))?>">
        *</td>
    </tr>
    <tr> 
      <td height="25" bgcolor="#FFFFFF"> <div align='left'>驗證碼</div></td>
      <td height="25" bgcolor="#FFFFFF"> <input name='rzm' type='text' id='rzm' maxlength='30'>
        *<input  type="button" style="font-size: 12px; height: 22px; line-height: 19px;" value="發送驗證碼" onclick="sendrzm()" id="sendag"  ></td>
    </tr>

再引入jquery文件添加jquery代碼:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
<script src="/js/jquery.min-1.7.2.js"></script>
<SCRIPT language=javascript>
<!--
var secs = 120;
function sendrzm(){
     var tel=$("#phone").val();
     <?
    if($public_r['regkey_ok'])
    {
    ?>
        if($('#key').val()==''||$('#key').val().length<4){
            alert('請先填寫圖形驗證碼');
            return false;
        }
    <?
    }  
    ?>
    if($.trim(tel)==''||$.trim(tel).length!=11){
        alert('請填寫正確的手機號碼');
    }else{
        $.getJSON('/e/member/doaction.php?enews=Rzsj&phone=' + tel + '',
            function(data) {
                if(data.d=='2'){
                    alert(data.n);
                }else{
                    document.userinfoform.sendag.disabled=true;
                                for(i=1;i<=secs;i++) {
                                 window.setTimeout("update(" + i + ")", i * 1000);
                                }
                }
                             
            });
    }
    
}
function update(num) {
 if(num == secs) {
 document.userinfoform.sendag.value ="重新發送驗證碼";
 document.userinfoform.sendag.disabled=false;
 }
else {
 printnr = secs-num;
 document.userinfoform.sendag.value = "(" + printnr +")重新發送驗證碼";
 }
}
//-->
</SCRIPT>

修改項目upload/e/member/doaction.php文件的177~185行左右添加認證手機代碼:

?
1
2
3
4
5
6
7
8
9
elseif($enews=='Rzsj')//認證手機號碼
{
    $tel=$_GET['phone'];
    F_rzm($tel);
}elseif($enews=='Rzsjq')//認證手機號碼取回密碼
{
    $add=$_GET;
    F_rzmq($add);
}

添加完成之后,我們修改upload/e/class/connet.php文件中的4958~5213行左右,添加短信接口驗證代碼:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
//發送手機驗證碼
function F_rzm($tel){
    global $empire,$dbtbpre,$public_r;
    $ism=is_mobile($tel);
    if($ism == 2)
    {
        G_return("手機號碼為空或者錯誤!");
    }
    $time=time();
    $zrc=$empire->fetch1("select * from {$dbtbpre}enewsmemberadd where phone='$tel'  limit 1");
    if($zrc['userid']){
        G_return("該號碼注冊,請更換其他號碼!");
    }
    //識別碼
    $gzwc=RepPostVar(getcvar('gzwrz'));
    $zr=$empire->fetch1("select * from {$dbtbpre}rz where bsm='$gzwc' and sj='$tel'  limit 1");
    if($zr['id']){
        //驗證次數
        if($zr['c']>10)
        {
            G_return("該號碼已多次接收不了驗證碼,建議更換手機重新注冊!");
        }
        //驗證間隔時間
        $gtime2=$zr['t']+60*2;
        if($time<$gtime2)
        {
            G_return("發送過程中,手機接收驗證碼需要1-2分鐘,請耐心等待!");
        }
        $rm=no_make_password(6);
        $content=$rm;
        $fh=api_sendsms($tel,$content);
        if($fh){
            $sql=$empire->query("update {$dbtbpre}rz set t='$time',rzm='$rm',c=c+1 where id='$zr[id]'");
            $logincookie=$time+3600*2;
            $set1=esetcookie("gzwrz",$gzwc,$logincookie);
            G_return("驗證碼已發送成功,請查收!",1);
        }else{
            G_return("發送失敗,請聯系管理員!");
        }
 
    }else{
        $rm=no_make_password(6);
        $content=$rm;
        $fh=api_sendsms($tel,$content);
        if($fh){
            $gzwc=make_password(20);
            $sql=$empire->query("insert into {$dbtbpre}rz(bsm,rzm,sj,t,c) values('$gzwc','$rm','$tel','$time','1');");
            $logincookie=$time+3600*2;
            $set1=esetcookie("gzwrz",$gzwc,$logincookie);
            G_return("驗證碼已發送成功,請查收!",1);
        }else{
            G_return("發送失敗,請聯系管理員!");
        }
 
    }
 
}
 
//發送手機驗證碼(找回密碼)function F_rzmq($add){
    global $empire,$dbtbpre,$public_r;
    $tel=$add['phone'];
    //if(!$public_r['opengetpass'])
    //{
    //  G_return("系統關閉取回密碼!");
    //}
    $username=trim($add[username]);
    if(!$username)
    {
        G_return("用戶名不能為空!");
    }
 
 
    $ism=is_mobile($tel);
    if($ism == 2)
    {
        G_return("手機號碼為空或者錯誤!");
    }
    $username=RepPostVar($username);
    $ur=$empire->fetch1("select ".eReturnSelectMemberF('userid,username')." from ".eReturnMemberTable()." where ".egetmf('username')."='$username' limit 1");
    if(!$ur['userid'])
    {
        G_return("該用戶不存在!");
    }
    $aur=$empire->fetch1("select phone from {$dbtbpre}enewsmemberadd where userid='".$ur['userid']."' limit 1");
    if($tel!=$aur['phone'])
    {
        G_return("手機號碼不正確!");
    }
 
 
    $time=time();
    //識別碼
    $gzwc=RepPostVar(getcvar('gzwrzq'));
    $zr=$empire->fetch1("select * from {$dbtbpre}rzq where sj='$tel' and username='".$username."'  limit 1");
    if($zr['id']){
        //時間判斷
        $gtime1=date("Y-m-d",$zr['t']);
        $gddd=date("Y-m-d",time());
        //驗證次數
        if($zr['c']>10&&$gtime1==$gddd)
        {
            G_return("該號碼已多次接收不了驗證碼,建議更換手機重新注冊!");
        }
        //驗證間隔時間
        $gtime2=$zr['t']+60*2;
        if($time<$gtime2)
        {
            G_return("發送過程中,手機接收驗證碼需要1-2分鐘,請耐心等待!");
        }
        $rm=no_make_password(6);
        $content=$rm;
        $fh=api_sendsms($tel,$content);
        if($fh){
            if($gtime1!=$gddd){
                $sql=$empire->query("update {$dbtbpre}rzq set t='$time',rzm='$rm',c=c+1 where id='$zr[id]'");
            }else{
                $sql=$empire->query("update {$dbtbpre}rzq set t='$time',rzm='$rm',c=1 where id='$zr[id]'");
            }
            $logincookie=$time+3600*2;
            $set1=esetcookie("gzwrzq",$gzwc,$logincookie);
            G_return("認證碼已發送成功,請查收!",1);
        }else{
            G_return("發送失敗,請聯系管理員!");
        }
 
    }else{
 
        $rm=no_make_password(6);
        $content=$rm;
        $fh=api_sendsms($tel,$content);
        if($fh){
            $gzwc=make_password(20);
            $sql=$empire->query("insert into {$dbtbpre}rzq(bsm,rzm,sj,t,c,username) values('$gzwc','$rm','$tel','$time','1','".$username."');");
            $logincookie=$time+3600*2;
            $set1=esetcookie("gzwrzq",$gzwc,$logincookie);
            G_return("認證碼已發送成功,請查收!",1);
        }else{
            G_return("發送失敗,請聯系管理員!");
        }
 
    }
 
}
 
 
//替換手機短信內容變量
function T_sjn($rzm){
    global $empire,$dbtbpre,$public_r;
    $date=date("Y-m-d");
    $time=date("Y-m-d H:i:s");
    $content=$public_r['add_rznr'];
    $content=str_replace('[!--rzm--]',$rzm,$content);
    return  iconv('UTF-8''GB2312'$content);//utf-8
    //return $content; //gbk
}
 
//替換手機短信內容變量(找回密碼)
function T_sjnq($rzm){
    global $empire,$dbtbpre,$public_r;
    $date=date("Y-m-d");
    $time=date("Y-m-d H:i:s");
    $content=$public_r['add_rznrq'];
    $content=str_replace('[!--rzm--]',$rzm,$content);
    return  iconv('UTF-8''GB2312'$content);//utf-8
    //return  $content;
}
 
 
//注冊時手機驗證
function C_sjrz($tel,$rzm){
    global $empire,$dbtbpre,$public_r;
    $ism=is_mobile($tel);
    if($ism==2)
    {
       printerror('手機號碼為空或者錯誤!'.$tel.$rzm,'',1,0,1);
    }
    $zrc=$empire->fetch1("select * from {$dbtbpre}enewsmemberadd where phone='$tel'  limit 1");
    if($zrc['id']){
        printerror('該號碼注冊,請更換其他號碼!','',1,0,1);
    }
    //識別碼
    $gzwc=RepPostVar(getcvar('gzwrz'));
 
    $rzm=RepPostVar($rzm);
    $zr=$empire->fetch1("select * from {$dbtbpre}rz where bsm='$gzwc' and sj='$tel' and rzm='$rzm'  order by id desc limit 1");
    if(!$zr['id']){
        printerror('手機號碼驗證失敗!','',1,0,1);
    }
    $time=time();
    $gtime2=$zr['t']+3600*12;
    if($time>$gtime2)
    {
        printerror('手機驗證碼已超過有效期!','',1,0,1);
    }
    $set2=esetcookie("gzwrz","",0);
    $gsql=$empire->query("delete from {$dbtbpre}rz where id=$zr[id] ");
    return '';
}
 
 
//驗證手機號碼
function is_mobile($tel){
    if($tel=="")
    return 2; }
    //驗證長度
    if(strlen($tel)!="11")
    {  return 2;  }
    //驗證開頭3位格式
    if(!preg_match("/13[0123456789]\d{8}|14[57]\d{8}|15[012356789]\d{8}|18[012356789]\d{8}|17[17]\d{8}/",$tel))///1\d{10}/
    return 2; }
 
    return 1;
}
 
//返回信息
function G_return($n,$d=2){
    $gf['n']=Gbkbm($n);
    $gf['d']=$d;
    echo json_encode($gf);
    exit();
}
 
//中文編碼
function Gbkbm($g){
    //$g=iconv("GB2312","UTF-8//IGNORE",$g);
    return $g;
}
 
//短信發送接口
function api_sendsms($moblie,$content){
    global $empire,$dbtbpre,$public_r;
    //$uid=mb_convert_encoding($uid,'GB2312','UTF-8'); //內容為UTF-8時轉碼成GB2312
    //$msg=mb_convert_encoding($msg,'GB2312','UTF-8'); //內容為UTF-8時轉碼成GB2312
    require("../admin/smsbao/Smsbao.php");
    //取出短信配置信息
    $smsbao_config=file_get_contents("../admin/smsbao/config.txt");
    $smsbao_config=explode(","$smsbao_config);
    $smsbao=new Sms($smsbao_config[0],$smsbao_config[1]);
    $content="【".$smsbao_config[2]."】您好,你的驗證碼為:".$content.',請勿告訴他人';
    $sms_res=$smsbao->sendSms($moblie,$content);
    if($sms_res=='0'){
        return true;
    }else{
        return false;
    }
    /* 提交成功返回值格式:
    0發送成功! */
}

好了經過以上的添加,短信寶短信接口就已經安裝成功,可以正常使用了,最后我們進行發送測試:

報備一下短信寶的VIP模板,這樣就可以走短信寶的優質通道了,即便遇到敏感文字我們都不會人工審核,短信內容3~5秒就可送達。

另外:我們已經開發好完整的帝國CMS系統短信寶插件,點擊此鏈接 下載及查看安裝流程。

開源插件

最新更新

電商類

CMS類

微信類

文章標簽
精品深夜福利视频,日本中文字幕不卡,久久久久国产,av综合电影网站
蜜桃av一区二区三区电影| 蜜臀av性久久久久蜜臀aⅴ四虎| 久久高清免费| 久久影院资源站| 久久不见久久见国语| 日本va欧美va欧美va精品| 欧美日韩国产一区二区在线观看| 亚洲精品系列| 日产欧产美韩系列久久99| 在线亚洲国产精品网站| 99精品视频在线观看免费播放| 欧美少妇精品| 精品免费av| 久久精品不卡| 国产精品成久久久久| 欧美好骚综合网| 9999国产精品| 99久久九九| 午夜亚洲福利在线老司机| 视频一区二区国产| 亚洲影院天堂中文av色| 久久一二三区| 国产日韩欧美| 国产一区丝袜| 好吊日精品视频 | 亚洲午夜电影| 亚洲深夜影院| 黄色亚洲大片免费在线观看| 99香蕉国产精品偷在线观看 | 国产精品亚洲二区| 欧美精品97| 日韩欧美1区| 久久99伊人| 精品淫伦v久久水蜜桃| 国产精品玖玖玖在线资源| 欧美精选视频一区二区| 日韩欧美美女在线观看| 亚洲1234区| 久久国产66| 福利一区二区| 爽好多水快深点欧美视频| 亚洲专区在线| 丝袜诱惑一区二区| 欧美日韩91| 欧美日韩视频| 97se综合| 欧美日韩一区二区三区四区在线观看 | 性色一区二区| 在线看片国产福利你懂的| 一区二区三区网站| 欧美成人基地| 国产成人精品一区二区三区免费 | 亚洲一区二区三区四区电影| 亚洲精品永久免费视频| 日本久久一区| 午夜欧美理论片| 久久精品国产久精国产爱| 视频一区日韩| 日本不卡视频一二三区| 亚洲高清毛片| 国际精品欧美精品| 精品视频在线一区二区在线| 国产综合精品| 日本蜜桃在线观看视频| 久久久久久自在自线| 91亚洲国产高清| 成人午夜亚洲| 日韩一区电影| 久久激情一区| 999国产精品视频| 136国产福利精品导航网址| 91tv亚洲精品香蕉国产一区| 偷拍精品精品一区二区三区| 国产精品久久久久av电视剧| 精品欧美日韩精品| 国产成人精品亚洲日本在线观看| 粉嫩av一区二区三区四区五区| 天堂俺去俺来也www久久婷婷| 亚洲精品电影| 亚洲一区二区三区高清不卡| 日韩成人精品一区| 久久久久久久久丰满| 国产精品s色| 日韩精品专区| 亚洲我射av| 国产一区二区三区视频在线| 亚洲高清影视| 91大神在线观看线路一区| 天堂中文av在线资源库| 亚洲天堂免费| 精精国产xxxx视频在线播放 | 久久久久国产| 日韩av电影一区| 亚洲天堂1区| 国产免费播放一区二区| 精品国产一区二| 日本久久黄色| 综合精品一区| 国产91在线精品| 人人精品人人爱| 亚洲精品无播放器在线播放| 久久激情网站| 亚洲ww精品| 国产自产自拍视频在线观看| 欧美日韩国产欧| 欧美激情 亚洲a∨综合| 免费人成网站在线观看欧美高清| 亚洲三级精品| 日韩午夜一区| 日本不卡一二三区黄网| 国产区精品区| 精品一区视频| 视频一区日韩精品| 欧美亚洲三区| 免费在线亚洲欧美| 国产成人精品一区二区三区在线| 播放一区二区| 97精品久久| 亚洲一区成人| 神马午夜久久| 免费人成在线不卡| 亚洲制服少妇| 欧美在线不卡| 六月婷婷一区| 日韩1区2区| av综合电影网站| 都市激情国产精品| 久久精品99久久无色码中文字幕| 视频一区日韩| 日韩中文视频| 久久成人高清| 蜜桃久久久久久久| 女人av一区| 少妇精品在线| 国产精品亚洲成在人线| jizzjizz中国精品麻豆| 91精品视频一区二区| 久久久久久美女精品| 911亚洲精品| 国产亚洲精品v| 免费黄网站欧美| 国产一区三区在线播放| 欧美一区三区| 日本少妇一区二区| 亚洲字幕久久| 免费视频亚洲| 欧美一区二区三区高清视频 | 青青国产精品| 中文字幕系列一区| 91嫩草亚洲精品| 久久高清免费| 国产成人精品一区二区三区视频 | 偷拍欧美精品| 欧美91精品| 日韩88av| 国产精品久久乐| 国产精品红桃| 久久天堂成人| 国产精品日本一区二区三区在线| 老司机久久99久久精品播放免费| 在线国产一区二区| 蜜臀av免费一区二区三区| 视频一区免费在线观看| 在线手机中文字幕| www.com.cn成人| 亚洲精品2区| 只有精品亚洲| 日韩激情一区| 激情六月综合| 9国产精品视频| 成人精品亚洲| 手机在线电影一区| 亚洲www免费| 久久亚洲美女| 你懂的国产精品| 日韩精品欧美激情一区二区| 色黄视频在线观看| 国产精品香蕉| 国产精品22p| 中文字幕系列一区| 蜜桃久久精品一区二区| 精品视频免费| 精品国产一区二区三区性色av| 蜜桃91丨九色丨蝌蚪91桃色| 亚洲一区二区三区四区五区午夜| 亚洲大片在线| 在线综合亚洲| 国产欧美日韩在线一区二区 | 亚洲三级毛片| 亚洲精品一级| 麻豆一区二区99久久久久| 国产高清精品二区| 久久精品青草| 国产欧美自拍一区| 国产亚洲在线观看| 精品视频黄色| 久久一区二区三区电影| 国产精品一区二区美女视频免费看| 播放一区二区| 精品一区二区三区中文字幕在线|