$7.49 .com domain with free InstantPage Website Builder$1.99 Web Hosting   捷飞网络官方淘宝店   Godaddy 优惠码
返回列表 发帖
分享到:




用户注册时电子邮箱(Email)过滤及验证 For Discuz!7.0

作用简介 主要对会员注册Email进行过滤,验证,指定可以注册的唯一邮箱域;
+ q# m+ I$ o6 x- h2 c7 Q比如:会员注册只允许使用163邮箱,xxxx@163.com等。! s' v8 _5 l/ [- P
昨天有网友提出这个需求,所以方法就贴出来。
" Q3 b# l6 P. [2 r
/ u. M( w; u3 J方法步骤:
. O! j+ e4 F7 p
$ T3 ]# b4 {( z% r5 t! ]$ Q6 V7 f
打开register.php文件,查找:
# z/ n- E+ @6 R, s6 |4 D- ^3 F" Y; S6 E( n8 x' _4 M! z
  1. $email = trim($email);
复制代码
$ i! A/ E- k/ \3 z

' |! G6 b2 Y" M) |; i2 Q3 Z. X0 @0 u* ]" }) X6 y
, f9 r1 }* x) U3 }6 l
在下面添加:
: N' I* l' m1 K. [* l1 `8 d+ X' d. I# d+ C" x! w8 d1 r
  1. $emailcheck = explode('@',$email);
  2. if($emailcheck['1'] !== 'qq.com'){
  3. showmessage('您的邮箱不是QQ邮箱,请使用QQ邮箱注册');
  4. }
复制代码

: j; o/ h  @3 f' B6 M/ |2 W0 E
+ Z- G* Q# @/ Z# o# i5 i- b- Y- n
% t: i0 X9 e* A- r3 W
" S' [1 K4 H. Q" N7 k  ]注意,上面的'qq.com'就是你要指定的注册邮箱,下面的提示信息也可以自己修改。" o% e% h( p: _" v2 q

4 F% r  A2 J) a# s( I/ I原理解释:首先对register.php获取到的$email变量进行分割,例如,用户填写的邮箱:abcd@163.com,然后由explode函数,以@字符分割成两个字符串存储到数组$emailcheck中,那么$emailcheck['0']就是用户邮箱中的 abcd,$emailcheck['1']就是163.com,然后就可以根据判断是否匹配,从而决定是否允许用户注册,实现邮箱验证过滤!( S! a) m7 q1 P5 v+ i

# D% k& P, ^& t# p( a4 }4 b) v6 r另外,此方法的扩展:注册指定某几个、多个邮箱,就是说允许注册邮箱为指定的几种,比如,163邮箱,QQ邮箱,雅虎邮箱等。6 @8 e+ d( w; R( X2 B
扩展的话可以先将这几类邮箱存储一个数组里面,然后判断$emailcheck['1']是否存在于该数组即可!
! ?! u& R  m4 i- r" i; w
) V5 A+ A: e3 ~& M& i8 u
6 ]# q- r3 V9 O& Z* k效果演示:, a' I' p0 w2 f1 m

0 z' i( f) m& h9 {" z% \% g/ P! m* k: U; ]. G/ H

7 i- S+ J9 y; D5 s; C参考:http://bbs.7drc.com/thread-2459-1-1.html


返回列表
Namecheap
Namecheap.com - Cheap domain name registration, renewal and transfers - Free SSL Certificates - Web Hosting
互联网安全