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


待發短信

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

4001-021-502

工作時間

9:00-21:00

帝國CMSV_7.5新增功能模塊手機登錄

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

需求介紹:手機驗證碼登陸,未注冊手機號自動創建一個帳號

首先打開項目:\e\template\member\login.php 在74行左右新增手機快捷登錄

?
1
2
3
4
5
6
7
8
    <tr bgcolor="#FFFFFF">
      <td height="25">&nbsp;</td>
      <td height="25">
          <input type="submit" name="Submit" value=" 登 錄 ">&nbsp;&nbsp;&nbsp;
          <input type="button" name="button" value="馬上注冊" onclick="parent.location.href='../register/<?=$tobind?'?tobind=1':''?>';">
          <a style="cursor:pointer;"  onclick="parent.location.href='../mobilelogin'">手機號快捷登錄</a>
      </td>
    </tr>

打開項目:\e\template\member\ 新增個mobilelogin.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
<?php
if(!defined('InEmpireCMS'))
{
    exit();
}
?>
<?php
$public_diyr['pagetitle']='會員登錄';
$url="<a href=../../../>首頁</a>&nbsp;>&nbsp;<a href=../cp/>會員中心</a>&nbsp;>&nbsp;會員登錄";
require(ECMS_PATH.'e/template/incfile/header.php');
?>
<script src="/js/jquery.min-1.7.2.js"></script>
<br>
  <table width="500" border="0" align="center" cellpadding="3" cellspacing="1" class="tableborder">
      <form name="userloginform" method="POST" action="../doaction.php">
          <input type=hidden name=ecmsfrom value="<?=ehtmlspecialchars($_GET['from'])?>">
          <input type=hidden name=enews value="userloginform">
          <input name="groupid" type="hidden" id="groupid" value="<?=$groupid?>">
          <input name="tobind" type="hidden" id="tobind" value="<?=$tobind?>">
          <tr class="header">
              <td height="25" colspan="2"><div align="center">手機號快捷登錄<?=$tobind?' (綁定賬號)':''?></div></td>
          </tr>
 
 
          <tr bgcolor="#FFFFFF">
              <td height="25">手機</td>
              <td><input name="phone" type="text" id="phone" size="38"></td>
          </tr>
          <?php
          if($public_r['loginkey_ok'])
          {
          ?>
          <tr bgcolor="#FFFFFF">
              <td height="25">驗證碼:</td>
              <td height="25">
                  <table width="100%" border="0" cellspacing="0" cellpadding="0">
                      <tr>
                          <td width="52"><input name="key" type="text" id="key" size="6">
                          </td>
                          <td id="loginshowkey"><a href="#EmpireCMS" onclick="edoshowkey('loginshowkey','login','<?=$public_r['newsurl']?>');" title="點擊顯示驗證碼">點擊顯示驗證碼</a></td>
                      </tr>
                  </table>
              </td>
          </tr>
         <?php
          }
          ?>
          <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>
          <tr bgcolor="#FFFFFF">
              <td height="25">&nbsp; </td>
              <td height="25"> <input type="submit" name="button" value="登錄"></td>
          </tr>
      </form>
  </table>
<SCRIPT language=javascript>
    <!--
    var secs = 120;
    function sendrzm(){
        var tel=$("#phone").val();
        <?
        if($public_r['loginkey_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=Loginsend&phone=' + tel ,
                function(data) {
                    if(data.d=='2'){
                        alert(data.n);
                    }else{
                        document.userloginform.sendag.disabled=true;
                        for(i=1;i<=secs;i++) {
                            window.setTimeout("update(" + i + ")", i * 1000);
                        }
                    }
 
 
                });
        }
    }
    function update(num) {
        if(num == secs) {
            document.userloginform.sendag.value ="重新發送認證碼";
            document.userloginform.sendag.disabled=false;
        }
        else {
            printnr = secs-num;
            document.userloginform.sendag.value = "(" + printnr +")重新發送認證碼";
        }
    }
    //-->
</SCRIPT>
<br>
<?php
require(ECMS_PATH.'e/template/incfile/footer.php');
?>

打開項目:\e\member\ 新增mobilelogin目錄 以及子文件loginjs.php和index.php

loginjs.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
<?php
require("../../class/connect.php");
if(!defined('InEmpireCMS'))
{
    exit();
}
eCheckCloseMods('member');//關閉模塊
$myuserid=(int)getcvar('mluserid');
$r=array();
$mhavelogin=0;
if($myuserid)
{
    include("../../class/db_sql.php");
    include("../../member/class/user.php");
    include("../../data/dbcache/MemberLevel.php");
    $link=db_connect();
    $empire=new mysqlquery();
    $mhavelogin=1;
    //數據
    $myusername=RepPostVar(getcvar('mlusername'));
    $myrnd=RepPostVar(getcvar('mlrnd'));
    $qcklgr=qCheckLoginAuthstr();
    if(!$qcklgr['islogin'])
    {
        EmptyEcmsCookie();
        $mhavelogin=0;
    }
    else
    {
        $r=$empire->fetch1("select ".eReturnSelectMemberF('userid,username,groupid,userfen,money,userdate,havemsg,checked')." from ".eReturnMemberTable()." where ".egetmf('userid')."='$myuserid' and ".egetmf('rnd')."='$myrnd' limit 1");
        if(empty($r[userid])||$r[checked]==0)
        {
            EmptyEcmsCookie();
            $mhavelogin=0;
        }
    }
    //會員等級
    if(empty($r[groupid]))
    {$groupid=eReturnMemberDefGroupid();}
    else
    {$groupid=$r[groupid];}
    $groupname=$level_r[$groupid]['groupname'];
    //點數
    $userfen=$r[userfen];
    //余額
    $money=$r[money];
    //天數
    $userdate=0;
    if($r[userdate])
    {
        $userdate=$r[userdate]-time();
        if($userdate<=0)
        {$userdate=0;}
        else
        {$userdate=round($userdate/(24*3600));}
    }
    //是否有短消息
    $havemsg="";
    if($r[havemsg])
    {
        $havemsg="<a href='".$public_r['newsurl']."e/member/msg/' target=_blank><font color=red>您有新消息</font></a>";
    }
    //$myusername=$r[username];
}
if($mhavelogin==1)
{
?>
document.write("&raquo;&nbsp;<font color=red><b><?=$myusername?></b></font>&nbsp;&nbsp;<a href=\"/e/member/my/\" target=\"_parent\"><?=$groupname?></a>&nbsp;<?=$havemsg?>&nbsp;<a href=\"/e/space/?userid=<?=$myuserid?>\" target=_blank>我的空間</a>&nbsp;&nbsp;<a href=\"/e/member/msg/\" target=_blank>短信息</a>&nbsp;&nbsp;<a href=\"/e/member/fava/\" target=_blank>收藏夾</a>&nbsp;&nbsp;<a href=\"/e/member/cp/\" target=\"_parent\">控制面板</a>&nbsp;&nbsp;<a href=\"/e/member/doaction.php?enews=exit&ecmsfrom=9\" onclick=\"return confirm(\'確認要退出?\');\">退出</a>");
<?php
    db_close();
    $empire=null;
}
else
{
?>
document.write("<form name=login method=post action=\"/e/member/doaction.php\">    <input type=hidden name=enews value=login>    <input type=hidden name=ecmsfrom value=9>    用戶名:<input name=\"username\" type=\"text\" class=\"inputText\" size=\"16\" />&nbsp;    密碼:<input name=\"password\" type=\"password\" class=\"inputText\" size=\"16\" />&nbsp;    <input type=\"submit\" name=\"Submit\" value=\"登陸\" class=\"inputSub\" />&nbsp;    <input type=\"button\" name=\"Submit2\" value=\"注冊\" class=\"inputSub\" onclick=\"window.open(\'/e/member/register/\');\" /></form>");
<?php
}
?>

index.php新增代碼

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
<?php
require('../../class/connect.php');
require("../../class/db_sql.php");
require('../../member/class/user.php');
$link=db_connect();
$empire=new mysqlquery();
$editor=1;
eCheckCloseMods('member');//關閉模塊
$tobind=(int)$_GET['tobind'];
if($ecms_config['member']['loginurl'])
{
    Header("Location:".$ecms_config['member']['loginurl']);
    exit();
}
//導入模板
require(ECMS_PATH.'e/template/member/mobilelogin.php');
db_close();
$empire=null;
?>

打開項目:\e\member\class\member_loginfun.php 在146行增加mlogin方法

?
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
function mlogin($add){
    global $empire,$dbtbpre,$public_r,$ecms_config;
    if($ecms_config['member']['loginurl'])
    {
        Header("Location:".$ecms_config['member']['loginurl']);
        exit();
    }
    $dopr=1;
    if($_POST['prtype'])
    {
        $dopr=9;
    }
    $username=trim($add['phone']);
    $password=trim($add['phone']);
    if(!$username||!$password)
    {
        printerror("EmptyLogin","history.go(-1)",$dopr);
    }
    $tobind=(int)$add['tobind'];
    //驗證碼
    $keyvname='checkloginkey';
    if($public_r['loginkey_ok'])
    {
        ecmsCheckShowKey($keyvname,$add['key'],$dopr);
    }
    $username=RepPostVar($username);
    $password=RepPostVar($password);
    //手機驗證碼
    $tel=$add['phone'];
    $rzm=$add['rzm'];
    C_sjrl($tel,$rzm);
    $num=0;
    $zrc=$empire->fetch1("select userid from {$dbtbpre}enewsmemberadd where phone='$tel'  limit 1");
    $r=$empire->fetch1("select ".eReturnSelectMemberF('*')." from ".eReturnMemberTable()." where ".egetmf('userid')."='$zrc[0]' limit 1");
    if(!$r['userid'])
    {
        require "member_registerfun.php";
        $user_groupid=eReturnMemberDefGroupid();
        $groupid=(int)$add['groupid'];
        $groupid=empty($groupid)?$user_groupid:$groupid;
        CheckMemberGroupCanReg($groupid);
        //注冊時間
        $lasttime=time();
        $registertime=eReturnAddMemberRegtime();
        $rnd=make_password(20);//產生隨機密碼
        $userkey=eReturnMemberUserKey();
        //密碼
        $truepassword=$password;
        $salt=eReturnMemberSalt();
        $password=eDoMemberPw($password,$salt);
        $email '';
        //審核
        $checked=ReturnGroupChecked($groupid);
        if($checked&&$public_r['regacttype'])
        {
            $checked=0;
        }
        $checked=(int)$checked;
        //驗證附加表必填項
        $mr['add_filepass']=ReturnTranFilepass();
        $member_r array(",truename,mycall,phone,oicq,msn,homepage,userpic,address,zip,saytext",",'','',".$add[phone].",'','','','','','',''" );
        //IP
        $regip=egetip();
        $regipport=egetipport();
 
        $sql=$empire->query("insert into ".eReturnMemberTable()."(".eReturnInsertMemberF('username,password,rnd,email,registertime,groupid,userfen,userdate,money,zgroupid,havemsg,checked,salt,userkey').") values('$username','$password','$rnd','$email','$registertime','$groupid','$public_r[reggetfen]','0','0','0','0','$checked','$salt','$userkey');");
        //取得userid
        $userid=$empire->lastid();
        //附加表
        $addr=$empire->fetch1("select * from {$dbtbpre}enewsmemberadd where userid='$userid'");
        if(!$addr['userid'])
        {
            $spacestyleid=ReturnGroupSpaceStyleid($groupid);
            $sql1=$empire->query("insert into {$dbtbpre}enewsmemberadd(userid,spacestyleid,regip,lasttime,lastip,loginnum,regipport,lastipport".$member_r[0].") values('$userid','$spacestyleid','$regip','$lasttime','$regip','1','$regipport','$regipport'".$member_r[1].");");
        }
        //更新附件
        UpdateTheFileOther(6,$userid,$mr['add_filepass'],'member');
        ecmsEmptyShowKey($keyvname);//清空驗證碼
        //綁定帳號
        if($tobind)
        {
            MemberConnect_BindUser($userid);
        }
        if($sql)
        {
            //審核
            if($checked==0)
            {
                $location=DoingReturnUrl("../../",$_POST['ecmsfrom']);
                printerror("RegisterSuccessCheck",$location,1);
            }
            $logincookie=0;
            if($ecms_config['member']['regcookietime'])
            {
                $logincookie=time()+$ecms_config['member']['regcookietime'];
            }
            $r=$empire->fetch1("select ".eReturnSelectMemberF('*')." from ".eReturnMemberTable()." where ".egetmf('userid')."='$userid' limit 1");
            $set1=esetcookie("mlusername",$username,$logincookie);
            $set2=esetcookie("mluserid",$userid,$logincookie);
            $set3=esetcookie("mlgroupid",$groupid,$logincookie);
            $set4=esetcookie("mlrnd",$rnd,$logincookie);
            //驗證符
            qGetLoginAuthstr($userid,$username,$rnd,$groupid,$logincookie);
            //登錄附加cookie
            AddLoginCookie($r);
            $location="../member/cp/";
            $returnurl=getcvar('returnurl');
            if($returnurl&&!strstr($returnurl,"e/member/iframe")&&!strstr($returnurl,"e/member/register")&&!strstr($returnurl,"enews=exit"))
            {
                $location=$returnurl;
            }
            $set5=esetcookie("returnurl","");
            //易通行系統
            DoEpassport('reg',$userid,$username,$truepassword,$salt,$email,$groupid,$registertime);
            $location=DoingReturnUrl($location,$_POST['ecmsfrom']);
            printerror("RegisterSuccess",$location,1);
        }
        else
        {printerror("DbError","history.go(-1)",1);}
    }
    else{
        if($r['checked']==0)
        {
            if($public_r['regacttype']==1)
            {
                printerror('NotCheckedUser','../member/register/regsend.php',1);
            }
            else
            {
                printerror('NotCheckedUser','',1);
            }
        }
        //綁定帳號
        if($tobind)
        {
            MemberConnect_BindUser($r['userid']);
        }
        $rnd=make_password(20);//取得隨機密碼
        //默認會員組
        if(empty($r['groupid']))
        {
            $r['groupid']=eReturnMemberDefGroupid();
        }
        $r['groupid']=(int)$r['groupid'];
        $lasttime=time();
        //IP
        $lastip=egetip();
        $lastipport=egetipport();
        $usql=$empire->query("update ".eReturnMemberTable()." set ".egetmf('rnd')."='$rnd',".egetmf('groupid')."='$r[groupid]' where ".egetmf('userid')."='$r[userid]'");
        $empire->query("update {$dbtbpre}enewsmemberadd set lasttime='$lasttime',lastip='$lastip',loginnum=loginnum+1,lastipport='$lastipport' where userid='$r[userid]'");
        //設置cookie
        $lifetime=(int)$add['lifetime'];
        $logincookie=0;
        if($lifetime)
        {
            $logincookie=time()+$lifetime;
        }
        $set1=esetcookie("mlusername",$username,$logincookie);
        $set2=esetcookie("mluserid",$r['userid'],$logincookie);
        $set3=esetcookie("mlgroupid",$r['groupid'],$logincookie);
        $set4=esetcookie("mlrnd",$rnd,$logincookie);
        //驗證符      qGetLoginAuthstr($r['userid'],$username,$rnd,$r['groupid'],$logincookie);
        //登錄附加cookie
        AddLoginCookie($r);
        $location="../member/cp/";
        $returnurl=getcvar('returnurl');
        if($returnurl)
        {
            $location=$returnurl;
        }
        if(strstr($_SERVER['HTTP_REFERER'],"e/member/iframe"))
        {
            $location="../member/iframe/";
        }
        if(strstr($location,"enews=exit")||strstr($location,"e/member/register")||strstr($_SERVER['HTTP_REFERER'],"e/member/register"))
        {
            $location="../member/cp/";
            $_POST['ecmsfrom']='';
        }
        ecmsEmptyShowKey($keyvname);//清空驗證碼
        $set6=esetcookie("returnurl","");
        if($set1&&$set2)
        {
            //易通行系統      DoEpassport('login',$r['userid'],$username,$password,$r['salt'],$r['email'],$r['groupid'],$r['registertime']);
            $location=DoingReturnUrl($location,$_POST['ecmsfrom']);
            printerror("LoginSuccess",$location,$dopr);
        }
        else
        {
            printerror("NotCookie","history.go(-1)",$dopr);
        }
    }
}

打開項目:\e\class\connect.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
//登錄發送手機驗證碼
function F_rzml($tel){
    global $empire,$dbtbpre,$public_r;
 
 
    $ism=is_mobile($tel);
    if($ism == 2)
    {
        G_return("手機號碼為空或者錯誤!");
    }
    $time=time();
    //識別碼
    $gzwc=RepPostVar(getcvar('gzwrl'));
    $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("gzwrl",$gzwc,$logincookie);
            G_return("驗證碼已發送成功,請查收!",1);
        }else{
            G_return("發送失敗,請聯系管理員!");
        }
    }
}

打開項目:\e\member\doaction.php 在66行新增下代碼

?
1
2
3
4
elseif($enews=="userloginform")//手機快捷登錄
{
    mlogin($_POST);
}

好了經過以上的添加,短信寶手機功能模塊就已經安裝成功,可以正常使用了

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

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

開源插件

最新更新

電商類

CMS類

微信類

文章標簽