相信很多做SNS的朋友都需要会员实名注册吧?之前UCHome 还没有开源的时候就有朋友在说了,我记得那时候看了下发现没有办法做到。又很久没有看UCHome了,没有办法学校网速太差基本不能上网,自己的网站就也 没有办法管理了,加上这段时间事情多又计算机又英语考试还有补考重修期终考试….,自己生活也不顺利,咳咳扯远了。
来看的时候发现UCHome开源了!呵呵!真是很高兴!尤其是看到很多大哥们写了很多好用的插件,嘻嘻。
回话题,我以为UCHome一个注册名一个昵称基本算是多余。很多用UCHome的朋友直接将注册名就用作实名了,发现这样有些不太好,一是大家(用户)习惯了使用英文用户名,尤其登录的时候用中文很别扭,而且名字会有重复的情况出现,但是用户名不能重复。所以我直接将昵称作为实名(数据库就用昵称这个字段存储实名),如有需要自定义的自己添加个字段就是了。

下面是修改的文件:

/template/default/do_register.htm
查找(约38行位置):

<tr><th width="100">用户名</th><td><input type="text" id="username" name="username" value="" class="t_input" onBlur="checkUserName()" tabindex="2" /> <span id="checkusername"> </span></td></tr>
<tr>
</tr>

之后添加:

<!--加人真名-->
<tr><th width="100">真实名字</th><td><input type="text" id="spacename" name="spacename" value="" class="t_input"  tabindex="3" /> <span id="checkspacename"> </span></td></tr>
<tr>
<!--加人真名结束-->
</tr>

/source/do_register.php
查找(约67行位置):

$username = $_POST['username'];

在其后添加:

$spacename = $_POST['spacename'];//获取真名

查找(约第99行):

$space = space_open($newuid, $username, 0, $email);

修改为:

$space = space_open($newuid, $username, 0, $email,$spacename);//传递真名

/source/function_space.php
查找(约在第11行):

function space_open($uid, $username, $gid=0, $email='') {

修改为:

function space_open($uid, $username, $gid=0, $email='',$spacename='') {

查找(约在第18行):

'username' => $username,

在其后添加

'spacename' => $spacename,//入库

上面3处修改就可以达到注册的时候添加实名选项,如果需要在注册的时候强制必须填写实名可以自己加验证。如使用和官方同 样验证方法需要修改uc_user_register(),在/uc_client/client.php里421行位,调用在/source /do_register.php 约72行位置,同时还需要在/language/lang_showmessage.php里面添加一条处理实名验证的句子。
因为上面比较麻烦且修改位置较多又涉及到系统原定义函数, 所以我就使用了个另类的方法,具体可以参考http://www.nanhuau.com/ 我仅在js里面验证了没有在php验证。验证真名我只判断是大于1为的汉字,(如果赵C等人需要注册就只有主动联系我了^)。

如果需要实名不能修改请去掉/template/default/cp_profile.htm里面去掉修改昵称的语句就可以了。同时可以查找\template\default 下文件替换”昵称”为”真实姓名”就可以了。
, 基本就这样,我还在\template\default\space_index.htm里面,将$space[username]和$space[spacename]对换了下位置.

还有对于已经使用用户名作为实名的朋友可以直接用username字段值来UPDATA spacename字段吧。