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




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

作用简介 主要对会员注册Email进行过滤,验证,指定可以注册的唯一邮箱域;5 |) h9 p$ a% A5 K; R* m' T6 y
比如:会员注册只允许使用163邮箱,xxxx@163.com等。
  T# p( e" P4 [昨天有网友提出这个需求,所以方法就贴出来。
  N* P5 B6 Q2 a# Y- M8 H6 |! k$ |4 A4 z  F. Q
方法步骤:0 D5 L1 P' L. i5 b2 C

8 M9 t% k1 T. Y3 `; V- c+ l
打开register.php文件,查找:% e# p9 {% h3 x/ e. w3 X* v

! c8 @( }2 \9 _( z$ x9 C3 i
  1. $email = trim($email);
复制代码
+ w7 z/ r. C' k, s" @

% }" U# C/ M! Z* S; V: d" `) r. P5 S# \5 f8 ^

. _7 @& s$ q: o3 X/ v% {在下面添加:1 W: t9 H1 g6 G- s" l5 n  G3 V
' ^9 I/ w( `: n" N! @. T
  1. $emailcheck = explode('@',$email);
  2. if($emailcheck['1'] !== 'qq.com'){
  3. showmessage('您的邮箱不是QQ邮箱,请使用QQ邮箱注册');
  4. }
复制代码

" W2 G# \8 k* _6 w$ X; j4 a# P4 l! Y  M
# _& X1 g/ u( V5 ]/ Z! U

) e! _7 S8 t# ^( p. R9 c注意,上面的'qq.com'就是你要指定的注册邮箱,下面的提示信息也可以自己修改。" [! B' c+ N$ d

+ {& v0 v) `' m4 w# Z4 G, i原理解释:首先对register.php获取到的$email变量进行分割,例如,用户填写的邮箱:abcd@163.com,然后由explode函数,以@字符分割成两个字符串存储到数组$emailcheck中,那么$emailcheck['0']就是用户邮箱中的 abcd,$emailcheck['1']就是163.com,然后就可以根据判断是否匹配,从而决定是否允许用户注册,实现邮箱验证过滤!( W# Z6 j) }& m: q/ }: Y8 r

6 U3 g/ D' V, g1 }: q* W另外,此方法的扩展:注册指定某几个、多个邮箱,就是说允许注册邮箱为指定的几种,比如,163邮箱,QQ邮箱,雅虎邮箱等。
+ k5 Y0 Q+ N/ v2 W' K! k扩展的话可以先将这几类邮箱存储一个数组里面,然后判断$emailcheck['1']是否存在于该数组即可!
9 }1 v% f' }$ p& A
7 y) ~3 T  r. ]6 I$ O' X
+ A+ t" z2 V' h效果演示:
2 b5 Q) \6 ^8 m- Z+ |: b/ Q3 n3 f
6 g: o" Y4 l: u" W$ g, b: p, z3 H+ x/ J9 I' p# ?8 `
5 H9 W6 q7 b3 @) f+ @- n1 Q
参考:http://bbs.7drc.com/thread-2459-1-1.html

美国VPS、域名代购:http://tu8l.taobao.com

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