dedecms整合uchome 实现完美同步登陆方法

织梦教程 强烈建议 2024-02-06 13:28 106 0
  整合,让织梦DEDEcms和UCH通信成功,我相信对很多朋友来说是很简单的一件事,但这样通信成功后,会出现以下问题:   无论在哪一个应用注册,必须在另一个应用登录后才能实现真正意义的整合。   这个问题一直困扰了我好久,刚刚终于找到了解决的办法,***解决登录问题,在UCHOME注册后,立即同步登录到织梦,特发此帖。   整合教程,我就不写,百度一下有很多,论坛上有很多 。   说一下同步登录的问题。   说明:注册一律用UCHOME的注册。   一、打开/api/uc.php   查找如下代码   {   include_once DEDEINC.’/memberlogin.class.php’;   $cfg_ml=new MemberLogin(86400);   $cfg_ml->PutLoginInfo($result['mid']);   }   在其下插入入下代码   else   {   //如果没有激活,则自动添加该用户到数据库,并设置已激活状态的cookie   //会员的默认金币   $dfscores=0;   $dfmoney=0;   $dfrank=$this->db->GetOne(“Select money,scores From `dede_arcrank` where rank=’10′ “);   if(is_array($dfrank))   {   $dfmoney=$dfrank['money'];   $dfscores=$dfrank['scores'];   }   $jointime=time();   $logintime=time();   $joinip=$get['regip'];   $loginip=$get['regip'];   $pwd=$get['password'];   $spaceSta=($cfg_mb_spacesta < 0 ? $cfg_mb_spacesta : 0);   $mtype=’个人’;   $email=$get['email'];   $username=$username;   $inQuery=“INSERT INTO `dede_member` (`mtype` ,`userid` ,`pwd` ,`uname` ,`sex` ,`rank` ,`money` ,`email` ,`scores` ,   `matt`, `spacesta` ,`face`,`safequestion`,`safeanswer` ,`jointime` ,`joinip` ,`logintime` ,`loginip` )   VALUES (‘$mtype’,’$username’,’$pwd’,’$username’,’保密’,’10′,’$dfmoney’,’$email’,’$dfscores’,   ’0′,’$spaceSta’,”,”,”,’$jointime’,’$joinip’,’$logintime’,’$loginip’); “;   if($this->db->ExecuteNoneQuery($inQuery))   {   $mid=$this->db->GetLastID();   //写入默认会员详细资料   $space=’person’;   //写入默认统计数据   $membertjquery=“INSERT INTO `dede_member_tj` (`mid`,`article`,`album`,`archives`,`homecount`,`pagecount`,`feedback`,`friend`,`stow`)   VALUES (‘$mid’,’0′,’0′,’0′,’0′,’0′,’0′,’0′,’0′); “;   $this->db->ExecuteNoneQuery($membertjquery);   //写入默认空间配置数据   $spacequery=“Insert Into `dede_member_space`(`mid` ,`pagesize` ,`matt` ,`spacename` ,`spacelogo` ,`spacestyle`, `sign` ,`spacenews`)   Values(‘$mid’,’10′,’0′,’$username的空间’,”,’$space’,”,”); “;   $this->db->ExecuteNoneQuery($spacequery);   //写入其它默认数据   $this->db->ExecuteNoneQuery(“INSERT INTO `dede_member_flink`(mid,title,url) VALUES(‘$mid’,’织梦内容管理系统’,’ “);   include_once DEDEINC.’/membermodel.cls.php’;   $membermodel=new membermodel($mtype);   $modid=$membermodel->modid;   $modelform=$this->db->getOne(“select * from dede_member_model where id=’$modid’ “);   $this->db->ExecuteNoneQuery(“INSERT INTO `{$membermodel->table}` (`mid`) VALUES (‘$mid’);”);   //———————————————-   //模拟登录   //—————————   include_once DEDEINC.’/memberlogin.class.php’;   $cfg_ml=new MemberLogin(86400);   $cfg_ml->PutLoginInfo($mid);   }   }   二、打开UCHOME所在文件夹,找到如下两个文件(source目录下)do_register.php、和do_register.htm(作用:解决***次注册后无法同步登录DEDE)   1、修改do_register.php   查找   showmessage(‘registered’, $jumpurl);   替换为   $ucsynlogin=uc_user_synlogin($newuid);   showmessage(‘login_success’, $jumpurl, 1, array($ucsynlogin));   2、修改do_register.htm   查找   window.location.href=   替换为   setTimeout(“window.location.href= 1000);   三、打开UCHOME所在文件夹,找到如下文件(source目录下)do_login.php(此段代码测试中,慎用!)   查找   //同步登录   if($_SCONFIG['uc_status']) {   include_once S_ROOT.’   $ucsynlogin=uc_user_synlogin($setarr['uid']);   } else {   $ucsynlogin=”;   }   替换为   //同步登录   if(!$_SCONFIG['uc_status']) {   include_once S_ROOT.’   $ucsynlogin=uc_user_synlogin($setarr['uid']);   } else {   $ucsynlogin=”;   }   完成以上三步即可同步登录和退出。

时间:(2024-02-06 13:28:26)
本站资源均来自互联网或会员发布,如果不小心侵犯了您的权益请与我们联系。我们将立即删除!谢谢!