91成人在线播放_欧美一区二区视频在线观看_91精品国产高清久久久久久_国产精品久久亚洲不卡4k岛国


待發(fā)短信

在線客服
產(chǎn)品支持 短信寶客服
合作渠道 渠道合作
服務(wù)咨詢

4001-021-502

工作時(shí)間

9:00-21:00

YzmCms_v5.8新增短信寶短信接口

YzmCMS是一款輕量級(jí)開(kāi)源內(nèi)容管理系統(tǒng),它采用OOP(面向?qū)ο螅┓绞阶灾鏖_(kāi)發(fā)的框架。基于PHP+Mysql架構(gòu),并采用MVC框架式開(kāi)發(fā)的一款高效開(kāi)源的內(nèi)容管理系統(tǒng)。便于進(jìn)行二次開(kāi)發(fā),小編對(duì)這款軟件還是比較了解的,小編今天就以新增短信接口為例為大家講解一下如何進(jìn)行二次開(kāi)發(fā),我們使用的短信接口是我們短信寶短信群發(fā)平臺(tái)的短信接口,我們短信寶短信群發(fā)平臺(tái)非常穩(wěn)定,發(fā)送速度快,注冊(cè)就送測(cè)試短信,推薦大家使用。

1:打開(kāi)項(xiàng)目:\application\admin\view\system_set.html 增加短信頁(yè)面代碼

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
<div class="tabCon">
    <div class="row cl">
        <label class="form-label col-xs-4 col-sm-2">短信寶用戶名:</label>
        <div class="formControls col-xs-8 col-sm-9">
            <input type="text" name="smsbao_user" value="<?php echo $data["smsbao_user"];?>"  class="input-text" style="width:50%">
        </div>
    </div>
    <div class="row cl">
        <label class="form-label col-xs-4 col-sm-2">短信寶密碼:</label>
        <div class="formControls col-xs-8 col-sm-9">
            <input type="text" name="smsbao_pass" value="<?php echo $data["smsbao_pass"];?>"  class="input-text" style="width:50%">
        </div>
    </div>
    <div class="row cl">
        <label class="form-label col-xs-4 col-sm-2">短信簽名:</label>
        <div class="formControls col-xs-8 col-sm-9">
            <input type="text" name="smsbao_sign" value="<?php echo $data["smsbao_sign"];?>"  class="input-text" style="width:50%">
        </div>
    </div>
</div>   

2:打開(kāi)項(xiàng)目:\application\member\view\member_set.html 在18行增加以下代碼

?
1
2
3
4
5
6
7
8
<div class="row cl">
    <label class="form-label col-xs-4 col-sm-2">新會(huì)員注冊(cè)短信驗(yàn)證:</label>
    <div class="formControls col-xs-8 col-sm-9">
        <label class="label_radio"><input name="member_mobile" type="radio" <?php echo $data["member_mobile"]? 'checked' '' ?> value="1"> 開(kāi)啟</label>
        <label class="label_radio"><input name="member_mobile" type="radio" <?php echo $data["member_mobile"]? '' 'checked' ?> value="0"> 關(guān)閉</label>
        <span style="color:#888"> [需填寫(xiě)短信配置,且開(kāi)啟后會(huì)員注冊(cè)審核功能無(wú)效]</span>
    </div>       
</div>

3:打開(kāi)項(xiàng)目:\application\member\view\member_add.html 增加手機(jī)號(hào)選擇項(xiàng)

?
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
<form method="post" onsubmit="return dosub(this)">
    <ul>
         <li><label><span class="c-red">*</span>用戶名:</label><input type="text" class="input" name="username" value="" onblur="get_nickname()"></li>
         <li><label><span class="c-red">*</span>密碼:</label><input type="text" class="input" name="password" value=""></li>
         <li><label>昵稱:</label><input type="text" class="input" name="nickname" value=""></li>
         <li><label><span class="c-red">*</span>郵箱:</label><input type="email" class="input" name="email" value="">><span class="c-red">*</span>手機(jī)號(hào)碼:</label><input type="mobile" class="input" name="mobile" value=""></li>
         <li><label><span class="c-red">*</span>會(huì)員組:</label>
         <span class="span_input"><select  name="groupid" style="margin-left:0px;">
          <?php 
            foreach($member_group as $val){
                echo '<option value="'.$val['groupid'].'">'.$val['name'].'</option>';
            }
           ?>        
         </select> <span class="c-red">*會(huì)員組別影響到經(jīng)驗(yàn)</span></span>
         </li>
         <li><label><span class="c-red">*</span>積分:</label><input type="text" class="input" name="point" value="0"></li>
         <li><label>vip會(huì)員:</label>
         <span class="span_input" title="vip會(huì)員可以免積分查看付費(fèi)內(nèi)容">是否為vip會(huì)員 <input name="vip" value="1" type="checkbox">&nbsp;
         過(guò)期時(shí)間 <input type="text" class="input-text laydate-icon" style="width:175px;height:30px;" name="overduedate" value="" onclick="laydate({istime: true, format: 'YYYY-MM-DD hh:mm:ss'})"></span>
         </li>
         <li><input type="hidden" name="dosubmit" value="1">
         <input class="dosubmit w_120 btn-primary radius" type="submit" value="提交">
         <input class="btn w_120 btn-default radius" type="button" value="取消" onclick="yzmcms_close()">
         </li>
    </ul>
</form>

4:打開(kāi)項(xiàng)目:\application\member\controller\index.class.php 修改注冊(cè)方法

?
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
public function register(){ 
    $config = get_config();
    //檢查是否允許新會(huì)員注冊(cè)
    if($config['member_register'] == 0) showmsg('管理員關(guān)閉了新會(huì)員注冊(cè)!''stop');
    
    if(isset($_SESSION['_userid']) && $_SESSION['_userid']){
        showmsg(L('login_success'), U('member/index/init'), 1);
    }
        
        
    if(isset($_POST['dosubmit'])){
        
        if(empty($_SESSION['code']) || strtolower($_POST['code']) != $_SESSION['code']){
            $_SESSION['code'] = '';
            showmsg(L('code_error'), '', 1);
        }
        if (empty($_SESSION['mobile_code']) || strtolower($_POST['mobile_code']) != $_SESSION['mobile_code']) {
            $_SESSION['mobile_code'] = '';
            showmsg(L('手機(jī)驗(yàn)證碼不正確'),'',1);
        }
        $_SESSION['code'] = '';
        
        $member = D('member');
        $data = array();
        $data['username'] = isset($_POST['username']) && is_username($_POST['username']) ? trim($_POST['username']) : showmsg(L('user_name_format_error'));    
        $data['password'] = isset($_POST['password']) && is_password($_POST['password']) ? trim($_POST['password']) : showmsg(L('password_format_error')); 
        $data['email'] = isset($_POST['email']) && is_email($_POST['email']) ? trim($_POST['email']) : showmsg(L('mail_format_error'));        
        $data['mobile'] = isset($_POST['mobile']) && is_mobile($_POST['mobile']) ? trim($_POST['mobile']) : showmsg(L('手機(jī)號(hào)不正確'));              
 
 
        $result = $member->where(array('username'=>$_POST['username']))->find();
        if($result) showmsg(L('user_already_exists'));
        $result = $member->field('userid')->where(array('email'=>$_POST['email']))->find();
        if($result) showmsg("郵箱已存在!");
        $results = $member->where(array('mobile'=>$_POST['mobile']))->find();
        if($results) showmsg("手機(jī)已存在");
        $data['nickname'] = $data['username'];
        $data["password"] = password($data['password']);
        $data['regdate'] = $data['lastdate'] = SYS_TIME;
        $data['regip'] = $data['lastip'] = getip();
        $data['groupid'] = '1';
        $data['amount'] = '0.00';
        $data['point'] = $data['experience'] = $config['member_point'];  //經(jīng)驗(yàn)和積分
        $data['status'] = ($config['member_check'] || $config['member_email']) ? 0 : 1;    
        $data['userid'] = $member->insert($data, true);      
        if(!$data['userid']) showmsg("注冊(cè)失敗!");
        
        D('member_detail')->insert($data, truefalse); //插入附表
        
        if($config['member_email']){
            //需要郵件驗(yàn)證
            $mail_code = string_auth($data['userid'].'|'.SYS_TIME, 'ENCODE', make_auth_key('email'));
            $url = U('member/index/register', array('mail_code'=>$mail_code, 'verify'=>1));
            $message = '<p>您正在注冊(cè)'.get_config('site_name').'網(wǎng)站會(huì)員:</p><p>請(qǐng)點(diǎn)擊如下鏈接進(jìn)行郵箱驗(yàn)證:<a href="'. $url .'" target="_blank">'. $url .'</a></p><p>驗(yàn)證有效期為30分鐘!</p>';
            $res = sendmail($data['email'], '會(huì)員注冊(cè)郵箱驗(yàn)證', $message);
            if(!$res) showmsg('郵件發(fā)送失敗,請(qǐng)聯(lián)系網(wǎng)站管理員!''stop');
            showmsg('我們已將郵件發(fā)送到您的郵箱,請(qǐng)盡快完成驗(yàn)證!');
        }elseif($config['member_check']){  
            //需要管理員審核
            showmsg('注冊(cè)成功,由于管理員開(kāi)啟審核機(jī)制,請(qǐng)耐心等待!');
        }
        
        $_SESSION['_userid'] = $data['userid'];
        $_SESSION['_username'] = $data['username'];
        set_cookie('_userid', $data['userid'], 0, true);
        set_cookie('_username', $data['username'], 0, true);
        set_cookie('_groupid', $data['groupid'], 0, true);      
        set_cookie('_nickname', $data['username']);
        showmsg('注冊(cè)成功!', U('member/index/init'), 1);         
        
    }else{
        if(!empty($_GET['verify'])) {
            $mail_code = isset($_GET['mail_code']) ? trim($_GET['mail_code']) : showmsg(L('illegal_operation'), 'stop');
            $code_res = string_auth($mail_code, 'DECODE', make_auth_key('email'));
            $code_arr = explode('|', $code_res);
            $userid = isset($code_arr[0]) ? intval($code_arr[0]) : showmsg(L('illegal_operation'), 'stop');
            $time = isset($code_arr[1]) ? $code_arr[1] : showmsg(L('illegal_operation'), 'stop');
            if($time+1800 > SYS_TIME){
                D('member')->update(array('status' => 1, 'email_status' => 1),array('userid'=>$userid));
                showmsg('郵箱驗(yàn)證成功!', U('member/index/login'), 2);
            }else{
                showmsg('郵箱驗(yàn)證失敗,驗(yàn)證時(shí)間已失效!', U('member/index/register'));
            }
        }
        include template('member''register');
    }      
    
}

5:打開(kāi)項(xiàng)目:\application\member\controller\reset.class.php 增加手機(jī)號(hào)重置類

?
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
public function reset_mobile(){
    session_start();
    $_SESSION['step'] = isset($_SESSION['step']) ? $_SESSION['step'] : 1;
 
 
    if ($_SESSION['step']==1 && isset($_POST['dosubmit'])) {
        if(empty($_SESSION['code']) || strtolower($_POST['code']) != $_SESSION['code']){
            $_SESSION['code'] = '';
            showmsg(L('code_error'), '', 1);
    }
 
 
    $data = $this->_check($_POST['username']);
    if(empty($data['mobile'])) showmsg('您沒(méi)有綁定手機(jī),請(qǐng)選擇其他方式找回密碼!''stop');
    $ret = sendsms($data['mobile']);
    if ($ret != 0) {
        showmsg('短信發(fā)送失敗,請(qǐng)聯(lián)系網(wǎng)站管理員!');
    }
 
 
    $_SESSION['mobile'] = $data['mobile'];
    $_SESSION['userid'] = $data['userid'];
    $_SESSION['emc_times'] = 5;
    $_SESSION['step'] = 2;
 
 
 
 
    }elseif($_SESSION['step'] ==2 && isset($_POST['dosubmit'])){
        if($_SESSION['emc_times']=='' || $_SESSION['emc_times']<=0){
             $_SESSION['step'] = 1;
             showmsg("驗(yàn)證次數(shù)超過(guò)5次,請(qǐng)重新獲取短信驗(yàn)證碼!");
        }
        if(!empty($_SESSION['mobile_code']) && strtolower($_POST['mobile_code']) == strtolower($_SESSION['mobile_code'])){
             unset($_SESSION['emc_times']);
             $_SESSION['step'] = 3;
        }else{
             $_SESSION['emc_times'] = $_SESSION['emc_times']-1;
             showmsg('短信校驗(yàn)碼錯(cuò)誤!','',1);
        }
 
 
    }else if($_SESSION['step']==3 && isset($_POST['dosubmit'])){
        
        if(!isset($_POST['password']) || !is_password($_POST['password'])) showmsg(L('password_format_error'));
        
        D('member')->update(array('password' => password($_POST['password'])),array('userid'=>$_SESSION['userid']));
        unset($_SESSION['step'], $_SESSION['code'], $_SESSION['mobile_code'], $_SESSION['mobile'], $_SESSION['userid']);
        showmsg('更新密碼成功!', U('member/index/login'));
        
    }
 
 
    include template('member''reset_mobile');
}

6:打開(kāi)項(xiàng)目:\common\function\system.func.php 增加發(fā)送類

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
function sendsms($mobile)
{
    $config = get_config();
    $user = $config['smsbao_user'];
    $pass = $config['smsbao_pass'];
    $sign = $config['smsbao_sign'];
    if (empty($user) && empty($pass) && empty($sign)) {
        return 2;
    }
    $code = rand(1000,9999);
    $content = '【'.$sign.'】您的驗(yàn)證碼為:'.$code.'請(qǐng)妥善保存!';
    $url = 'http://api.smsbao.com/sms?u='.$user.'&p='.md5($pass).'&m='.$mobile.'&c='.$content;
    $result = file_get_contents($url);
    if ($result == 0) {
        $_SESSION['mobile_code'] = $code;
        return '0';
    }else{
        return $result;
    }
}

7:打開(kāi)項(xiàng)目:\application\member\view\default\reset_type.html 增加手機(jī)找回密碼的方式

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
        <div class="main">
          <h1>請(qǐng)選擇密碼找回方式</h1>
          <div class="main_left">
                <div class="reset_type">
                    <span>1.</span>通過(guò)手機(jī)找回密碼
                    <a href="{U('reset_mobile')}">立即找回</a>
                </div>
                <div class="reset_type">
                <span>1.</span>通過(guò)電子郵箱找回密碼
                <a href="{U('reset_email')}">立即找回</a>
                </div>
                <div class="reset_type">
                <span>2.</span>通過(guò)安全問(wèn)題找回密碼
                <a href="{U('reset_problem')}">立即找回</a>
                </div>               
          </div>

8:打開(kāi)項(xiàng)目:\application\member\view\default\register.html 增加校驗(yàn)js代碼

?
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
<script type="text/javascript">
    var time = 0;
    var res = null;
 
 
    function sendTime(){
        clearTimeout(res); // 先清空一下倒計(jì)時(shí)資源。
        time--; // 倒計(jì)時(shí)時(shí)間遞減。
 
 
        // 如果倒計(jì)時(shí)到達(dá)0時(shí),則恢復(fù)按鈕原來(lái)的內(nèi)容
        if (time <= 0) {
            time = "獲取驗(yàn)證碼";
            $('.huoqu').text(time);
            clearTimeout(res);
            time = 0;
            return;
        }
 
 
        // 倒計(jì)時(shí)的內(nèi)容寫(xiě)到按鈕里面
        $('.huoqu').text("剩余" + time + "秒");
        res = setTimeout("sendTime()", 1000);
    }
 
 
    $(function(){
 
 
        var flg = true;
 
 
        $('.huoqu').on('click',function(){
            console.log(123);
            var mobile = $("#mobile").val();
            var code = $("#code").val();
            var reg = /^1[3,4,5,7,8]\d{9}$/;
            var ret = false;
            if (code == '') {layer.msg('請(qǐng)?zhí)顚?xiě)驗(yàn)證碼'); return ret;}
            if (!reg.test(mobile)) {layer.msg('手機(jī)號(hào)碼不正確');return ret;}
            if (0 == time) {
                var data = {"code" : code, "mobile" : mobile};
                console.log(data);
                var err = "";
                if (flg == true) {
                    flg = false;
                    // ajax提交請(qǐng)求
                    $.ajax({
                        type: "post",
                        url: "{U('public_checksms')}",
                        dataType: "html",
                        async: false,
                        data: data,
                        beforeSend: function(){
                            $("#dosubmit").attr({ disabled: "disabled" });
                        },
                        success: function(msg){
                            if(msg == '0'){
                                time = 60;
                                sendTime();
                                layer.msg('短信發(fā)送成功!');
                                ret = true;
                            }else if(msg == '1'){
                                layer.msg('驗(yàn)證碼不正確');
                            }else if(msg == '2'){
                                layer.msg('短信配置不正確');
                            }else{
                                layer.msg(msg);
                            }
                        }
                    });
                }
                $('.codeimg').click();
                return ret;
            }
        })
 
 
    })
</script>

好了,經(jīng)過(guò)以上的替換,短信寶的短信平臺(tái)已經(jīng)替換成功了,可以正常使用了。我們進(jìn)行測(cè)試發(fā)送。

報(bào)備一下短信寶的VIP模板,這樣就可以走短信寶的優(yōu)質(zhì)通道了,即便遇到敏感文字我們都不會(huì)人工審核,短信內(nèi)容3~5秒就可送達(dá)。

另外:我們已經(jīng)開(kāi)發(fā)好完整的YzmCMS_V5.8系統(tǒng)短信寶插件,點(diǎn)擊此鏈接 下載及查看安裝流程。

開(kāi)源插件

最新更新

電商類

CMS類

微信類

文章標(biāo)簽