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




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

作用简介 主要对会员注册Email进行过滤,验证,指定可以注册的唯一邮箱域;1 p' W8 p4 w4 e1 W$ D* D6 I
比如:会员注册只允许使用163邮箱,xxxx@163.com等。
8 N( T# h9 m! ?8 B9 |昨天有网友提出这个需求,所以方法就贴出来。# ?5 F( u8 }& c6 @- F
% F% [4 Z# v* p. B8 d# Q4 v
方法步骤:
( C% H0 C# r* ^7 v7 w( Y
- T; [' }( e1 }8 C7 O
打开register.php文件,查找:7 |0 X& X6 [! v5 k9 y- J
6 ^+ S5 J# ]/ K/ N8 S
  1. $email = trim($email);
复制代码
: S% _; _- E2 f: @

% ?) J/ _  n, s- x$ j0 d
* V$ e- E4 r' C& v6 ~6 G* a- _) W
6 U5 S4 [! L7 P: V在下面添加:
% q' ~, b- n. `  n4 A* E, r. U  U
  1. $emailcheck = explode('@',$email);
  2. if($emailcheck['1'] !== 'qq.com'){
  3. showmessage('您的邮箱不是QQ邮箱,请使用QQ邮箱注册');
  4. }
复制代码

9 d2 @: U, A6 ~" D$ F' l1 T8 o5 x; ^6 L

3 `3 |/ J1 y: C4 {. \. s
1 n8 k& O* J+ l9 r7 [$ u9 d3 K注意,上面的'qq.com'就是你要指定的注册邮箱,下面的提示信息也可以自己修改。
2 f# l2 q% p' S' j5 k5 o6 Z- ]( g# o; K) s- C5 T5 V
原理解释:首先对register.php获取到的$email变量进行分割,例如,用户填写的邮箱:abcd@163.com,然后由explode函数,以@字符分割成两个字符串存储到数组$emailcheck中,那么$emailcheck['0']就是用户邮箱中的 abcd,$emailcheck['1']就是163.com,然后就可以根据判断是否匹配,从而决定是否允许用户注册,实现邮箱验证过滤!
6 `# X& O% d7 }6 I
. V, B/ j" {7 N9 Z: Q; @$ w# y1 a另外,此方法的扩展:注册指定某几个、多个邮箱,就是说允许注册邮箱为指定的几种,比如,163邮箱,QQ邮箱,雅虎邮箱等。
+ b# U1 r* `! S, ^  n扩展的话可以先将这几类邮箱存储一个数组里面,然后判断$emailcheck['1']是否存在于该数组即可!& i1 k( [( c- R6 v# \
- V5 F8 k9 q: f  t7 s' W# S6 J

3 I% Z* L2 P: Y- t6 c/ J) B8 X效果演示:/ v. B6 t/ R# n  n: H

. F2 t1 c; B/ P7 v  K# [5 n1 y. O
9 Q# `. U" N6 O& D/ _6 e7 R0 _% n0 I2 a2 [# B9 o, _' i
参考:http://bbs.7drc.com/thread-2459-1-1.html


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