註冊必須填性別&生日 For Discuz 6.0 更改方法

註:本人在自己的論壇做了多次的測試都沒有發現問題,所以如果其他使用者安裝這插件時有任何問題,本人不會付任何責任,請其他使用者自己考慮是否使用‧
如有任何問題都歡迎提出^^"(我第一次發插件= =做得不好,別見怪‧)
修改者: sum1022
版本: Discuz! 6.0
演示: http://sum1022.no-ip.biz/register.php
如果只安裝其中一樣,請自行省略步驟!

1、打開 register.php 找:

if($password != $password2) {
                showmessage('profile_passwd_notmatch');
        }
下面加:

//性別判斷
if($gendernew == '') {
                showmessage('profile_gendernew_invalid');
        }

//出生日期判斷
if($bday > $timenow['year'] - 5 || $bday < $timenow['year'] - 95) {
        showmessage('profile_year_invalid');
}
if ( datecheck($bday) )
{
  $bday = $bday;
}
else
{
  showmessage('profile_year_invalid');
}  
2、打開 /templates/default/register.htm 
2.1 找:

<tr>
                <th><label for="email">{lang email} *</label></td>
在上面加:

//性別
<tr>
            <th>{lang gender} *</th>
            <td>
            <label><input type="radio" name="gendernew" value="1" tabindex="17" /> {lang male}<img src="images/common/male.gif" alt="我是帥哥"></label>
                                <label><input type="radio" name="gendernew" value="2" tabindex="18" /> {lang female}<img src="images/common/female.gif" alt="我是美女"></label>  <font color=red>請選擇好性別,才可註冊</font>
                        </td>
                </tr>

//出生日期
        <tr>
        <td class="altbg1"><span class="bold">{lang birthday} *</span></td>
        <td class="altbg2"><input type="text" name="bday" size="25" onclick="showcalendar(event, this)"

onfocus="showcalendar(event, this);if(this.value=='0000-00-00')this.value=''" value="0000-00-00"></td>
        </tr>
下載附件,將附件解壓縮後,上傳到 images/common/      <-----安裝【必須填性別】的才要下載‧

2.2 找以下代碼,並將刪除(防止在 高級設置 那裡重複出現 )。

<tr>
   <th>{lang gender}</th>
   <td>
    <label><input type="radio" name="gendernew" value="1" tabindex="17" /> {lang male}</label>
    <label><input type="radio" name="gendernew" value="2" tabindex="18" /> {lang female}</label>
    <label><input type="radio" name="gendernew" value="0" tabindex="19" checked="checked"> {lang secret}</label>
   </td>
  </tr>

<tr>
                <th><label for="bday">{lang birthday}</label></th>
                <td><input type="text" id="bday" name="bday" size="25" onclick="showcalendar(event, this)" onfocus="showcalendar(event, this);if(this.value=='0000-00-00')this.value=''" value="0000-00-00" tabindex="20" /></td>
        </tr>
3、取消【控制面板>編輯個人資料>基本資料】性別中的{保密}
打開 /templates/default/memcp_profile.htm 找:

<label><input class="radio" type="radio" name="gendernew" value="0" $gendercheck[0] /> {lang secret}</label>
把上面這段刪除或是屏蔽掉。
4、打開 include/common.inc.php 找:(如果不安裝【必須填生日】可以不用修改)

$timenow = array('time' => gmdate("$dateformat $timeformat", $timestamp + 3600 * $timeoffset),
在下面加入

'year' => date("Y"),
5、打開 memcp.php 找:(如果不安裝【必須填生日】可以不用修改)

$sitenew = dhtmlspecialchars(trim(preg_match("/^https?:\/\/.+/i", $sitenew) ? $sitenew : ($sitenew ? 'http://'.$sitenew : '')));
$icqnew = preg_match ("/^([0-9]+)$/", $icqnew) && strlen($icqnew) >= 5 && strlen($icqnew) <= 12 ? $icqnew : '';
$qqnew = preg_match ("/^([0-9]+)$/", $qqnew) && strlen($qqnew) >= 5 && strlen($qqnew) <= 12 ? $qqnew : '';
$bdaynew = datecheck($bdaynew) ? $bdaynew : '0000-00-00';
在下面加入

//出生日期判斷
if($bdaynew > $timenow['year'] - 5 || $bdaynew < $timenow['year'] - 95) {
        showmessage('profile_year_invalid');
}
if ( datecheck($bdaynew) )
{
  $bday = $bday;
}
else
{
  showmessage('profile_year_invalid');

6、打開 /templates/default/messages.lang.php 找:

'profile_passwd_illegal' => '密碼空或包含非法字符,請返回重新填寫。',
下面加:

'profile_gendernew_invalid' => '您沒有選擇性別,請返回選擇。',
'profile_year_invalid' => '您設置的出生年月日無效,請返回修改。',
完成!

本文来自: 我们(www.jb51.net) 详细出处参考:http://www.jb51.net/article/14472.htm

(0)

相关推荐

  • 註冊必須填性別&生日 For Discuz 6.0 更改方法

    註:本人在自己的論壇做了多次的測試都沒有發現問題,所以如果其他使用者安裝這插件時有任何問題,本人不會付任何責任,請其他使用者自己考慮是否使用‧ 如有任何問題都歡迎提出^^"(我第一次發插件= =做得不好,別見怪‧) 修改者: sum1022 版本: Discuz! 6.0 演示: http://sum1022.no-ip.biz/register.php 如果只安裝其中一樣,請自行省略步驟! 1.打開 register.php 找: if($password != $password2) {  

  • jquery 必填项判断表单是否为空的方法

    html页面 复制代码 代码如下: <form onsubmit="if(confirm('确定好你所填写的正确,不然会发错!')) {return checkForm();}else{return false;}" > <table > <tr> <td>选择发送人<font class="red">*</font></td> <td> <input type=&

  • 详解vue填坑之解决部分浏览器不支持pushState方法

    前端使用vue-router做单页面路由并开启history模式时,会碰到一个问题:部分低版本的手机浏览器.部分app以及IE9浏览器由于不支持pushState方法,会导致页面加载不出来. 解决这个问题的思路是: 当浏览器支持pushState方法时,开启history模式,不支持则开启hash模式 对链接做判断,当跳转的链接与路由模式不匹配时,则跳转至正确的链接 nginx对域名下的路径访问均重写向至index.html 以下为具体实现方法: 判断使用何种路由模式 let isHans =

  • 女人美麗每天別忘八件事

    一.早晚兩杯白開水 充足的水分是健康和美容的保障.特別是女性, 缺水會使她們的身體過早衰老,皮膚因"縮水"而 失去光澤.但由于女人的代謝比男人要慢,消耗也比男人要低,女人往往比男人喝水要少,這就會使身體 和皮膚的問題同時出現.  女人要做的是,至少早晚各一杯白開水.早上的一杯可以清潔腸道.補充夜間失去的水分,晚上的一 杯則能保證一夜之間血液不至于因缺水而過于黏稠.血液黏稠會加快大腦的缺氧.色素的沉積,使衰老提 前來臨.因此,每晚飲水的作用不能低估.    二.一片多種維生素復合片 在現

  • easyui关于validatebox实现多重规则验证的方法(必看)

    方法一: 自从1.3.2版本开始,validatebox自身已经支持多重校验了,例如: <input class="easyui-validatebox" data-options="required:true,validType:['email','length[0,20]']"> 方法二:(不太好用,试了半天还是不显示第二个验证的消息) 对于1.5版本的easyui.min,注释掉以下代码: 然后再添加 $.extend($.fn.validateb

  • Android填坑系列:在小米系列等机型上放开定位权限后的定位请求弹框示例

    背景 近期因实际项目需要,在特定操作下触发定位请求,取到用户位置及附近位置. 问题: 经初步选型,最终决定接入百度定位,按照百度定位SDK Android文档,接入过程相对顺利. 但随后发现,在小米系列等部分机型上,进入app后会出现"正在尝试 通过网络或者卫星对您的手机进行定位". 很影响用户体验. 解决过程: 1.Flurry的小坑 项目中引入了数个第三方SDK,主要包括Flurry,友盟,个推,百度定位SDK等.在App启动初始化及进入到首页的执行流中,主要涉及到Flurry,友

  • 如何提高java代码的重用性

    提高java代码可重用性有哪些方法措施,以下就讲解了三种关于提高java代码可重用性的措施,一起来了解一下吧~ 一.改写类的实例方法 通过类继承实现代码重用不是精确的代码重用技术,因此它并不是最理想的代码重用机制.继承总是带来一些多余的方法和数据成员,它们总是使得重用类里面某个方法的代码复杂化. 另外,派生类对父类的依赖关系也使得代码进一步复杂化:对父类的改动可能影响子类:修改父类或者子类中的任意一个类时,我们很难记得哪一个方法被子类覆盖.哪一个方法没有被子类覆盖:最后,子类中的覆盖方法是否要调

  • 利用python-docx模块写批量生日邀请函

    利用python-docx模块,写批量生日邀请函 有关python-docx的使用方法,可以参考官方的API文档.这里使用了其中的一些基本功能,来完成一个简单的任务:为参加聚会的好友,每人写一个word文档邀请函.邀请函也很简单,如下图: 下面是代码: import docx from docx.enum.text import WD_PARAGRAPH_ALIGNMENT #引入文字的位置样式 from docx.shared import Pt #设置字体 #从guest.txt文件中读取一

  • linux学习笔记 linux目录架构

    linux目录架构   / 根目录   /bin 常用的命令 binary file 的目錄   /boot 存放系统启动时必须读取的档案,包括核心 (kernel) 在内   /boot/grub/menu.lst GRUB设置   /boot/vmlinuz 内核   /boot/initrd 核心解壓縮所需 RAM Disk   /dev 系统周边设备   /etc 系统相关设定文件   /etc/DIR_COLORS 设定颜色   /etc/HOSTNAME 设定用户的节点名   /et

  • C#类型转换之自定义隐式转换和显式转换

    目录 前言 基础知识 示例代码 实际应用 问题 答案 报错 其他 应用和设计 读音 前言 有时我们会遇到这么一种情况:在json数据里,数组里的数据类型不一致,导致我们不能直接反序列化为目标类型.最终我们只能反序列化为JObject类型,然后通过字符串取值的方式来取出数据. 下面介绍一种新方式:通过自定义隐式转换,把不一样的数据类型反序列化为一样的数据类型. 基础知识 类型转换有2种:隐式转换和显式转换.但是,不管是隐式转换,还是显式转换,都是生成了一个新对象返回的.改变新对象的属性,不会影响老

随机推荐