Ecmsphp开发中心

1252

帖子

19

跟帖

8

粉丝

用户组:普通会员

头    衔:白银会员

版主

积分
356930
登陆
2134 次
私信
注册时间
2014-06-21 14:06:06
最后登陆时间
2023-09-24 16:04:46

帝国CMS教程:支持手机号码登陆的方法

 [只看主题]
楼主
0 |
发表: 3 年前
| |
| |
跳转

帝国cms支持手机号码登陆介绍,是教大家如何使用函数二次开发手机号码登陆的教程。


修改  e/member/class/member_loginfun.php  函数qlogin


//登录

function qlogin($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['username']);

$password=trim($add['password']);

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);

$num=0;

/*

*查询会员附加表手机号码字段(也可以是其他字段,自己看着来调整)

*/

$useradd=$empire->fetch1("select userid from {$dbtbpre}enewsmemberadd where phone='$username' limit 1");

if($useradd[userid]){

    $r=$empire->fetch1("select ".eReturnSelectMemberF('*')." from ".eReturnMemberTable()." where ".egetmf('userid')."='$useradd[userid]' limit 1");

}else{

    $r=$empire->fetch1("select ".eReturnSelectMemberF('*')." from ".eReturnMemberTable()." where ".egetmf('username')."='$username' limit 1");

}

if(!$r['userid'])

{

printerror("FailPassword","history.go(-1)",$dopr);

}

$username=$r[username]; //重新复制用户名

if(!eDoCkMemberPw($password,$r['password'],$r['salt']))

{

printerror("FailPassword","history.go(-1)",$dopr);

}

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);

}

}


以上是支持手机号码登陆的教程。

ecmsphp开发中心
ecmsphp开发中心
验证码 换一个

当前在线人数: 0
取消

感谢您的支持,我们会继续努力!

扫码支持
扫码打赏,你说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

×

打开微信“扫一扫”,打开网页后点击屏幕右上角分享按钮

帝国CMS教程:支持手机号码登陆的方法