Discuz!官方免费开源建站系统

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索

【Hack】完全仿D4注册《检查用户名》For D25 SP1(修正于3.27)

[复制链接]
freddy 发表于 2005-9-1 15:26:43 | 显示全部楼层 |阅读模式
HACK名称:完全仿D4注册《检查用户名》
HACK作者:夢想家
HACK修改:泡哥 圆圆科技  polo  funcn  百世基业  
功能描述:添加注册时『检查用户名』按钮,检查用户名是否存在,检查长度、非法字符及保留用户名
适应版本:Discuz 2.5 SP1
安装难易:简单
修改文件:member.php   register.htm  templates.lang.php messages.lang.php


全新安装:

一、修改member.php

  1. } else {
  2.         showmessage('undefined_action', NULL, 'HALTED');
复制代码


前面加入

  1. } elseif($action == 'check') {

  2.         if (!$username) {

  3.                 showmessage('register_username_empty', NULL, 'HALTED');

  4.         } else {

  5.                if(strlen($username) > 15) {
  6.                        showmessage('profile_username_toolang');
  7.                }

  8.                $username = trim($username);

  9.                $query = $db->query("SELECT value FROM cdb_settings WHERE variable='censoruser'");
  10.                $censoruser = $db->result($query, 0);

  11.                if(preg_match("/^\s*$|^c:\\con\\con$| |[%,\*"\s\t\<\>\&]|^游客|^Guest/is", $username) || @preg_match('/^'.str_replace(array('\\*', ',', ' '), array('.*', '|', ''), preg_quote($censoruser, '/')).'$/i', $username)) {
  12.                        showmessage('profile_username_illegal');
  13.                }

  14.                $query = $db->query("SELECT * FROM $table_members WHERE username='$username'");

  15.                if ($db->fetch_array($query)) {
  16.                        showmessage('register_username_illegal' , NULL, 'HALTED');
  17.                } else {
  18.                        showmessage('register_username_succeed' , NULL, 'HALTED');
  19.                }
  20.         }
复制代码


二、templates/default/register.htm
查找



  1. <input type="text" name="username" size="30">
复制代码



找不到这段,则找:

  1. <input type="text" name="username" size="25" maxlength="25">
复制代码


后面加入

  1. <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
查找


  1. 'register' => '注册',
复制代码

后面加入


  1.         'register_check_username' => '检查用户名',
复制代码


四、templates/default/messages.lang.php
查找

  1. 'register_ctrl' => '对不起,同一 IP 地址在 $regctrl 小时内只能注册一个账号。',
复制代码


后面加入

  1.         'register_username_empty' => '对不起,您还没有输入的用户名,请返回填写后再试。',//检查用户名
  2.         'register_username_succeed' => '恭喜您,您输入的用户名 "$username"  没有人使用,可以继续注册。',//检查用户名
  3.         'register_username_illegal' => '对不起,您输入的用户名 "$username" 已经被他人使用,请选择其他名字后再试。',//检查用户名
复制代码



完成!

[ 本帖最后由 freddy 于 2005-9-1 16:50 编辑 ]
52mp4 发表于 2005-9-1 15:28:02 | 显示全部楼层
以前有过了噢..
回复

使用道具 举报

 楼主| freddy 发表于 2005-9-1 15:38:48 | 显示全部楼层
是以前有的!我去FD转来的~我没说以前没有啊~
回复

使用道具 举报

xmzyy 发表于 2005-9-1 15:40:52 | 显示全部楼层
纯支持转帖。
回复

使用道具 举报

lu5266 发表于 2005-9-1 15:49:57 | 显示全部楼层
转贴也要劳力的啊
哈哈
支持老大
回复

使用道具 举报

 楼主| freddy 发表于 2005-9-1 15:51:06 | 显示全部楼层
多谢兄弟啊!
回复

使用道具 举报

mxd-user 发表于 2005-9-4 09:58:13 | 显示全部楼层
呼呼支持拉!
回复

使用道具 举报

Shadowsong 发表于 2005-9-4 18:58:39 | 显示全部楼层
全力支持!
回复

使用道具 举报

haochi 发表于 2005-9-4 21:09:43 | 显示全部楼层
支持!用上了....!YEAH
回复

使用道具 举报

haochi 发表于 2005-9-4 21:44:29 | 显示全部楼层
Warning: preg_match(): Compilation failed: nothing to repeat at offset 39 in /usr/export/www/hosting/qqs/member.php on line 182

怎么办??
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|Discuz! 官方站 ( 皖ICP备16010102号 )star

GMT+8, 2024-11-21 22:05 , Processed in 0.026494 second(s), 2 queries , Gzip On, Redis On.

Powered by Discuz! X3.4

Copyright © 2001-2023, Tencent Cloud.

快速回复 返回顶部 返回列表