RegCodeV1.0 (UCHome 邮件注册码插件)
RegCode,原名叫 Email获取注册码。
今天重新写了下代码,改为免注册表的,文件也精简了好多。自己在想,为什么开始就把这个小插件写得那么复杂呢!
Email获取注册码 插件:http://www.discuz.net/thread-1242212-1-1.html
对比上一版本更能上的区别:
1、EMAIL判断更改为UCH的EMAIL
2、注册码邮件添加直接点击进入的注册页面免输注册码及免输邮件
3、去掉插件的原来的用的数据表(改为免注册表的)
4、发送成功后,页面提供到链接到邮件网站
5、重写代码,代码更简洁,更好的支持UCHOME 2.0
插件结构:
文件夹 PATH 列表
│ regcode.php Email注册码主程序
└─template 模板目录
└─default 默认模板目录
regcode_index.htm Email注册码模板文件
安装说明:(可能有的复杂,其实也不复杂!haha….)
一、解压后上传Upload文件夹中的所有文件。
二、按下面说明修改3个文件:(一步一步对照着修改,不麻烦)
1、打开admin/tpl/config.htm,找到
<tr>
<th>关闭邀请注册功能</th>
<td>
<input type=”radio” name=”config[closeinvite]” value=”1″<!–{if $configs[closeinvite] == ‘1′}–> checked<!–{/if}–>>是
<input type=”radio” name=”config[closeinvite]” value=”0″<!–{if $configs[closeinvite] != ‘1′}–> checked<!–{/if}–>>否
</td>
</tr>
在下面添加以下代码:
<tr>
<th style=”color:red”>开启邮箱获取注册码功能</th>
<td>
<input type=”radio” name=”config[emailcode]” value=”1″<!–{if $configs[emailcode] == ‘1′}–> checked<!–{/if}–>>是
<input type=”radio” name=”config[emailcode]” value=”0″<!–{if $configs[emailcode] != ‘1′}–> checked<!–{/if}–>>否
</td>
</tr>
2、打开template/default/do_register.htm,找到:
<!–{else}–>
<tr>
<th style=”vertical-align: top;”>验证码</th>
<td>
<script>seccode();</script>
<p>请输入上面的4位字母或数字,看不清可<a href=”javascript:updateseccode()”>更换一张</a></p>
<input type=”text” id=”seccode” name=”seccode” value=”" onBlur=”checkSeccode()” tabindex=”1″ autocomplete=”off” /> <span id=”checkseccode”> </span>
</td>
</tr>
<!–{/if}–>
<!–{/if}–>
在下面添加以下代码:
<!–{if $_SCONFIG['emailcode']}–>
<tr><th>注册码</th><td><input type=”text” id=”regcode” name=”regcode” value=”$_GET['regcode']” tabindex=”1″ /> <a href=”regcode.php”>点这里获取注册码</a></td></tr>
<!–{/if}–>
再查找:
<tr><th>邮箱</th><td><input type=”text” id=”email” name=”email” value=”@” tabindex=”5″ />
把这句的改为:
<tr><th>邮箱</th><td><input type=”text” id=”email” name=”email” value=”$_GET['email']” tabindex=”5″ />
3、打开source/do_register.php,找到:
//已经注册用户
if($_SGLOBAL['supe_uid']) {
showmessage(’registered’, ’space.php’);
}
在下面添加以下代码:
//注册码验证
if($_SCONFIG['emailcode']){
$date=date(’Y-m-j’);
$regcode=substr(md5($_POST['email'].$_SCONFIG['sitekey'].$date), 0, 8);
if($_POST['regcode'] != $regcode) {
showmessage(’您填写的注册码不存在或已过期,请重新输入!’);
}
}
再找到:
//更新默认用户好友缓存
include_once(S_ROOT.’./source/function_cp.php’);
foreach ($fuids as $fuid) {
friend_cache($fuid);
}
}
}
在下面添加以下代码:
//如果注册email与获取注册码的email相同,则直接通过email验证
updatetable(’spacefield’, array(’emailcheck’=>1), array(’uid’=>$newuid));
三、登陆后台,更新缓存。
四、在站点设置->注册显示,里面开启“开启邮箱获取注册码功能”。
建议开启这个功能时,关闭验证码和验证问题功能,要不然给人感觉注册太麻烦了。其实这个功能已经很使用了!
看看安装后的实用页面:
下载:RegCodeV1.0 大小:32.14 KB 时间:2009-09-19141内附升级说明



18 Comments:
兄弟好人呐,认真负责升级说明都写好了,再次表示感谢, 好人一生平安:roll:
请问一下,RegCode V1.0 中,我想实现,如果是邀请注册就不需要注册码怎么设置啊,我在模板do_register.htm里加了个实现了邀请注册时不显示注册码那栏,但是没用,好像还需要在do_register.php动动您的代码,请帮忙看看。哦,还有发送注册码中显示的有效时间有点问题,我零点几分发送的,她显示的有效期是昨天的日期。谢谢,
看看register.php和register.htm两个文件,需要改这两个文件。
另外,日期是服务器上的不是本地的时间。
不错,这功能挺赞的!
说句别的:好好欣赏了一下这个主题,看了右上角那里,那些大大小小的字要是加上超链接说不定也不赖呢。然后,标题下面这个横条就可以不用啦,弄个箭头什么的指向右上角别人就该知道要点哪里的了吧。
一直都不怎么喜欢这种横条,条理性太强,除了自己很难吸引别人去点。
我准备参照这个插件写一个只要输入邮件就可以登录/注册的小插件,我觉得对于一个交际网站来说,账号和密码都不是必须要有的,反而是昵称和性别最最是必须要的,可是UChome还是按常规的网站的做法的要求来,就这么简单的一个小小细节可以拯救多少小站啊。
任何一个需要注册或者登陆的地方,都只出现一个很宽的要求输入邮箱地址的框,然后就是确定。如果站内有登记有这个网址就显示他的信息,如果没有就要他输入一个名字和选择性别,这样就注册完成了,多酷啊。就像Wordpress 的安装程序一样,因为简洁而完美。这才叫设计。
哈哈,谢谢兄弟的点评!我的美工水平真的有限!哈哈…….所以没去注重这些东西!有时间再换个主题!呵呵
谢谢
这是一个好主意!不错,写之前先想想怎么样防AD机器人等骚扰信息。什么东西都有好的一面和坏的一面!看看是利多于弊还是弊多于利!支持
很久以前一些免费的聊天室就是这种机制,确实方便!
兄弟,我安照你写的教程改的怎么收不到激活码啊,,,怎么回事啊
我这两天也在测试,接口经常超时!可能这个接口不行了!唉………..免费的就是免费的!
测试2天了,硬是收不到发的注册码邮件,不知道怎么搞的!
你后台的邮件设置配置好了吗?检查一下,然后再测试!
我按照教程安装以后,无法使用,邮箱无法收到注册码
我加你QQ了,没有验证,
我的网站www.cqrenjia.com
QQ:85381386
抱歉,从大年初二到现在一直都在外面出差,很少上来!有问题加QQ2559098说