• 如果您觉得本站还有点用,那么赶紧使用Ctrl+D 收藏吧
  • 热烈庆祝图库功能上线,具体请看站长公告
  • api接口慢慢研发中,具体请看发布页:接口发布页

记一次注册表单加邮箱验证的实现

日记吐槽 窝主 3个月前 (07-03) 93次浏览 已收录 0个评论 二维码

登录原理就是 用户提交——》服务器验证——》返回结果

在服务器验证实现。
wp主题下面都有function文件,在里面用函数即可实现了。

我觉得验证码这个东西,放数据库就是在浪费空间,而且不熟悉的人还不好写。就决定放在服务器文件了。安全性来说,肯定就是数据库存储>文件存储;

我采用的就是ini配置文件存储。
wp默认注册表单是红色框内,实现的就是黄色框内的东西。
记一次注册表单加邮箱验证的实现

把表单做出来。

在function里面吧函数建立起来,后端处理

    function  xxx(){
           $addPostForm = "<p><label for='sum'>验证码:<input type='text' name='sum' class='input' value='' style='width:110px;' tabindex='4' maxlenth='6'></label><button type='button' style='height:35px;' onclick='getEmaiCode();' id='mails'>获取邮箱验证码</button></p>";//其中,点击事件 getEmaiCode()   调用发信接口

}
    add_action('register_form', 'xxx');//xxx为函数名称,这里是函数和wp框架钩子挂钩。
     function  checkCode(){

}
add_action('register_form', 'checkCode');//这里是函数和wp框架钩子挂钩。


//查询邮箱是否已经被注册。
function handler() {
     global $wpdb;
$fivesdrafts = $wpdb->get_results("SELECT user_email FROM wp_users");
$txt=json_encode($fivesdrafts);

if(stristr($txt,$_GET['mail'])!==false){
echo json_encode(array('code'=>1));//存在返回1
}else{
echo json_encode(array('code'=>0));//不存在返回0
}
die();

}
add_action( 'wp_ajax_handler', 'handler' );
add_action( 'wp_ajax_nopriv_handler', 'handler' );




前端操作:
引入jquery库,

        <script src='https://code.jquery.com/jquery-3.1.1.min.js' ></script>

<script>
function cEmail(n){//查询邮箱是否可注册
        var result;
            $.ajax({
            type: 'GET',
            async:false,//关闭异步
            url: '/wp-admin/admin-ajax.php?action=handler&mail='+n,
            success: function(data){
            var obj = JSON.parse(data); 
            result=obj.code;
            return;
        },
        error:function(error){
            console.log(error);
        },
    });
    return result;
}
function getEmaiCode(){
$.ajax({
type: 'GET',
url: '/api/sendmail.php?add='+x+'&t={$t}',//这里是服务器发信接口
success: function(data){
//操作
}
});
}
</script>

做邮箱格式检测:

var reMail =/^(?:[a-zA-Z0-9]+[_\-\+\.]?)*[a-zA-Z0-9]+@(?:([a-zA-Z0-9]+[_\-]?)*[a-zA-Z0-9]+\.)+([a-zA-Z]{2,})+$/;//正则
        var s=new RegExp(reMail);
        if(!s.test(x)){return;}//验证失败,退出。

发信程序:
PHPMailer


二次元圈子, 版权所有
转载请注明原文链接:记一次注册表单加邮箱验证的实现
喜欢 (1)
[扫一扫投喂本站]
分享本页面
窝主
关于作者:
作者简介:咕咕咕

您必须 登录 才能发表评论!

正在获取,请稍候...
00:00/00:00

播放器
换装