HACK名称:完全仿D4注册《检查用户名》
HACK作者:夢想家
HACK修改:泡哥 圆圆科技 polo funcn 百世基业
功能描述:添加注册时『检查用户名』按钮,检查用户名是否存在,检查长度、非法字符及保留用户名
适应版本:Discuz 2.5 SP1
安装难易:简单
修改文件:member.php register.htm templates.lang.php messages.lang.php
全新安装:
一、修改member.php
- } else {
- showmessage('undefined_action', NULL, 'HALTED');
复制代码
前面加入
- } elseif($action == 'check') {
- if (!$username) {
- showmessage('register_username_empty', NULL, 'HALTED');
- } else {
- if(strlen($username) > 15) {
- showmessage('profile_username_toolang');
- }
- $username = trim($username);
- $query = $db->query("SELECT value FROM cdb_settings WHERE variable='censoruser'");
- $censoruser = $db->result($query, 0);
- if(preg_match("/^\s*$|^c:\\con\\con$| |[%,\*"\s\t\<\>\&]|^游客|^Guest/is", $username) || @preg_match('/^'.str_replace(array('\\*', ',', ' '), array('.*', '|', ''), preg_quote($censoruser, '/')).'$/i', $username)) {
- showmessage('profile_username_illegal');
- }
- $query = $db->query("SELECT * FROM $table_members WHERE username='$username'");
- if ($db->fetch_array($query)) {
- showmessage('register_username_illegal' , NULL, 'HALTED');
- } else {
- showmessage('register_username_succeed' , NULL, 'HALTED');
- }
- }
复制代码
二、templates/default/register.htm
查找
- <input type="text" name="username" size="30">
复制代码
找不到这段,则找:
- <input type="text" name="username" size="25" maxlength="25">
复制代码
后面加入
- <input type="button" value="{lang register_check_username}" onclick="window.open('member.php?action=check&username='+this.form.username.value);">
复制代码
三、templates/default/templates.lang.php
查找
后面加入
- 'register_check_username' => '检查用户名',
复制代码
四、templates/default/messages.lang.php
查找
- 'register_ctrl' => '对不起,同一 IP 地址在 $regctrl 小时内只能注册一个账号。',
复制代码
后面加入
- 'register_username_empty' => '对不起,您还没有输入的用户名,请返回填写后再试。',//检查用户名
- 'register_username_succeed' => '恭喜您,您输入的用户名 "$username" 没有人使用,可以继续注册。',//检查用户名
- 'register_username_illegal' => '对不起,您输入的用户名 "$username" 已经被他人使用,请选择其他名字后再试。',//检查用户名
复制代码
完成!
[ 本帖最后由 freddy 于 2005-9-1 16:50 编辑 ] |