Discuz、UCHome同步注册、免激活同步登录
现在的Discuz和UCHome是在一个地方注册,在另一个地方也能用同一账户,但稍显麻烦的是第一次登陆需要激活一下,显然多此一举。
究其原因是:在一个地方注册只是在UCenter和注册的地方建立了账户,在另一个地方并没有账户信息;激活是为了讲账户注册到过去。
下载Discuz、UCHome同步注册补丁,解压后对应覆盖到Discuz和UCHome目录,对应为Disucz 7.2/UCHome 2.0/UCenter 1.5版本。
更新后,无论用户在Discuz还是UCHome注册,在另一个地方都不用激活了;还是有个问题,用户注册后必须再登陆一次才行,不过相比之前至少免去了激活的麻烦。
P.S. 如UCHome中的header.htm文件不便覆盖的话,可以复制一下代码到body标签内
<!--{eval if($space[lastlogin]-$space[dateline]<30) {include_once("./uc_client/client.php");$ssynlogin = uc_user_synlogin($_SGLOBAL[supe_uid]);echo $ssynlogin;} }-->
呵呵,正需要这个,学习一下,多谢喽!
[回复]
你好
thanks, it works.
[回复]
顺便再说一句,按楼主的方法可以同步,但是当登录或退出的时候会出现错误:
missing ; (开firefox error console就可以看到)
并跳转到uc.php的 exit(‘authraction ….’);
把exit 括号内的内容全部删去就可以解决该问题。
[回复]
应该是return的返回值和exit的这种用法有冲突
[回复]
晴枫 2011年5月14日 10:30 回复:
@panyf, return和exit应该不会存在冲突的可能;return 是函数返回值,exit是直接退出页面。Firefox的报错猜测是返回的不是完整的javascript语句,导致解析出错
[回复]
我用的是2.0 注册没问题 登录就不行了 断点发现没有获取到用户 排查中…
[回复]
晴枫 2011年7月11日 12:38 回复:
@Lison, 登陆确实是个和很麻烦的问题,推荐使用自己手动设置cookie的方式实现登陆
[回复]
Lison 2011年7月12日 09:51 回复:
@晴枫,
… 俺不会写php 俺搞.net的
[回复]