ECMALL注册(邮箱或手机验证)

11 篇文章 0 订阅


## member.lang.php 

'safeemail' => '安全电子邮箱',
'getcode' => '获得的验证码',
'email_yanzhenma' => '请输入正确的邮箱验证码',
'email_already_taken' => '安全邮箱已被其他用户注册',
'getcodebtn'=>'获取验证码',
'phone_required' =>'手机号码必须',
'phone_error' => '该手机号已被注册',
'num_required'=>'手机必须是数字',
'phone_desc'=>'请输入手机号',
'phone_yanzhenma'=>'请输入获取的手机验证码',
'rangelength_required'=>'手机必须11位数字',
'yanzhengma_required'=>'验证码必须',
'yanzhengma_taken'=>'验证码输入不正确',
'emailreg'=>'邮箱注册',
'phonereg'=>'手机注册',
###########   member.register.html
$(function(){
$('.nav_shop').detach();
$('#nav li:first').css('border-left','1px solid #eeeeee');
    $('#register_form').validate({
        errorPlacement: function(error, element){
            var error_td = element.parent('td').next('td');
            error_td.find('.field_notice').hide();
            error_td.append(error);
        },
        success  : function(label){
            label.addClass('validate_right').text('OK!');
 
 
        },
        onkeyup: false,
        rules : {
            user_name : {
                required : true,
                byteRange: [3,25,'{$charset}'],
                remote   : {
                    url :'index.php?app=member&act=check_user&ajax=1',
                    type:'get',
                    data:{
                        user_name : function(){
                            return $('#user_name').val();
                        }
                    },
                    beforeSend:function(){
                        var _checking = $('#checking_user');
                        _checking.prev('.field_notice').hide();
                        _checking.next('label').hide();
                        $(_checking).show();
                    },
                    complete :function(){
                        $('#checking_user').hide();
                    }
                }
            },
yanzhengma : {
                required : true,
                remote   : {
                    url :'index.php?app=member&act=check_code&ajax=1',
                    type:'get',
                    data:{
                        yanzhengma :function(){
                            return $('#yanzhengma').val();
                        }, 
                    },
                    beforeSend:function(){
                        var _checking = $('#checking_code');
                        _checking.prev('.field_notice').hide();
                        _checking.next('label').hide();
                        $(_checking).show();
                    },
                    complete :function(){
                        $(_checking).hide();
                    }
                }
            },
            password : {
                required : true,
                minlength: 6
            },
            password_confirm : {
                required : true,
                equalTo  : '#password'
            },
            email : {
                email    : true,
remote   : {
                    url :'index.php?app=member&act=check_email&ajax=1',
                    type:'get',
                    data:{
                        email : function(){
                            return $('#email').val();
                        }
                    },
                    beforeSend:function(){ 
                        var _checking = $('#checking_email');
                        _checking.prev('.field_notice').hide();
                        _checking.next('label').hide();
                        $(_checking).show();  
                    },
                    complete :function(){
                        $('#checking_email').hide();
                    }

                }
            },
phonenum : {
digits:true,
rangelength:[11,11],
remote   : {
                    url :'index.php?app=member&act=check_phone&ajax=1',
                    type:'get',
                    data:{
                        phonenum : function(){
                            return $('#phonenum').val();
                        }
                    },
                    beforeSend:function(){ 
                        var _checking = $('#phonenum');
                        _checking.prev('.field_notice').hide();
                        _checking.next('label').hide();
                        $(_checking).show();  
                    },
                    complete :function(){
                        $('#checking_phone').hide(); 
                    }

                }
            },
            captcha : {
                required : true,
                remote   : {
                    url : 'index.php?app=captcha&act=check_captcha',
                    type: 'get',
                    data:{
                        captcha : function(){
                            return $('#captcha1').val();
                        }
                    }
                }
            },
            agree : {
                required : true
            }
        },
        messages : {
            user_name : {
                required : '{$lang.user_name_required}',
                byteRange: '{$lang.user_name_limit}',
                remote   : '{$lang.user_already_taken}'
            },
yanzhengma : {
                required : '{$lang.yanzhengma_required}', 
                remote   : '{$lang.yanzhengma_taken}'
            },
            password  : {
                required : '{$lang.password_required}',
                minlength: '{$lang.password_length_limit}'
            },
            password_confirm : {
                required : '{$lang.password_confirm_please}',
                equalTo  : '{$lang.password_inconsistent}'
            },
email : {
                required : '{$lang.email_required}',
                email    : '{$lang.email_invalid}',
remote   : '{$lang.email_already_taken}'
            },
phonenum : {
                digits : '{$lang.num_required}',
rangelength : '{$lang.rangelength_required}',
remote   : '{$lang.phone_error}'
            },
            captcha : {
                required : '{$lang.captcha_required}',
                remote   : '{$lang.captcha_error}'
            },
            agree : {
                required : '{$lang.agree_required}'
            }
        }
    });
var canSend =true;
var time=5;
$("#getcodebtn").click(function (){
var btn = $(this);
if (!canSend) return;
if($("#email").valid()){
var sendaddress = $('#email').val();
$.ajax({
type: "get",
url : "index.php?app=member&act=get_code&sign=1&ajax=1",
data: {
sendaddress :function(){
return sendaddress;
}
}, 
success:function(msg){  
var hander = setInterval(function () {
if (time <= 0) {
canSend = true;
clearInterval(hander);
btn.val("重新发送验证码");
btn.removeAttr("disabled");
}
else {
canSend = false;
btn.attr({ "disabled": "disabled" });
btn.val(time + "秒后可重新发送");
time--;
}
}, 1000);
if (msg == "1") {
alert("邮件已发送至:" + sendaddress+ " 请注意查收!");
}else if (msg == "2") {
alert("等待再次发送!");
}else if (msg == "0") {
alert("邮件发送失败,请检查邮件地址是否正确!");
}
}
}); 
}else if($("#phonenum").valid()){
var sendaddress = $('#phonenum').val();
$.ajax({
type: "get",
url : "index.php?app=member&act=get_code&sign=2&ajax=1",
data: {
sendaddress :function(){
return sendaddress;
}
}, 
success:function(msg){
var hander = setInterval(function () {
if (time <= 0) {
canSend = true;
clearInterval(hander);
btn.val("重新发送验证码");
btn.removeAttr("disabled");
}
else {
canSend = false;
btn.attr({ "disabled": "disabled" });
btn.val(time + "秒后可重新发送");
time--;
}
}, 1000);
if (msg == "1") {
alert("短信已发送至:" + sendaddress+ " 请注意查收!");
}else if (msg == "2") {
alert("短信等待5分钟才能再次发送!");
}else if (msg == "0") {
alert("短信发送失败,请检查邮件地址是否正确!");
}
}
}); 
}else{
alert("请检查地址是否正确!");
}
});
});
 
######## app/frontend.base.php 635h+方法
if (!$this->visitor->has_login && !in_array(ACT, array('login', 'register', 'check_user','check_email','check_phone','get_code','make_code','check_code', 'has_login')))
######## member.app.php +
/**
 *    检查safeEmail是否存在
 *
 *    @author    Garbin
 *    @return    void
 */
function check_email()
{
$email = empty($_GET['email']) ? null : trim($_GET['email']);
if (!$email)
{
echo ecm_json_encode(false);
return;
}
$ms =& ms();
echo ecm_json_encode($ms->user->check_email($email)); 
}
/**
 *    检查safePhone是否存在
 *
 *    @author    Garbin
 *    @return    void
 */
function check_phone()
{
$phonenum = empty($_GET['phonenum']) ? null : trim($_GET['phonenum']);

if (!$phonenum)
{
echo ecm_json_encode(false);
return;
}
$ms =& ms();
 
echo ecm_json_encode($ms->user->check_phone($phonenum)); 
}


/**
 *   检测手机或邮箱验证码是否正确
 *    变量:验证码: yanzhengma , 验证方式:sign 邮箱:1,短信:2,
 *     
 */
function get_code()
{
$getaddress = empty($_GET['sendaddress']) ? null : trim($_GET['sendaddress']);
$sign = empty($_GET['sign']) ? null : trim($_GET['sign']);
if (!$getaddress || !$sign)
{
echo ecm_json_encode(false);
return;
}
//生成验证码, 
$_SESSION['yanzhengma'] = $this->make_code();
/*
* 参数:  收件人地址,类型(email/phone),内容数组(用户名,验证码),发送模版类型(编号),
* return: 1:成功,2:等待,0:错误
* temyu_mail() 
*/
$sendmodel=& m(temyu_mail);
$rusult = $sendmodel->tomail($getaddress,"mail",$_SESSION['yanzhengma']);
if($rusult)
echo '1';
else{
echo '0';
}
}
/**
 * 生成随机码
 * 
 */
function make_code()
{
$chars = 'abcdefghijklmnopqrstuvwxyz023456789';  
$code = '';  
for ( $i = 0; $i < 6; $i++)  
{   
$code .= $chars[ mt_rand(0, strlen($chars) - 1) ];  
}
return $code;
}
/**
 *   检测手机或邮箱验证码是否正确
 *    变量:验证码: yanzhengma 
 *     
 */
function check_code()
{
$getyanzhengma = empty($_GET['yanzhengma']) ? null : trim($_GET['yanzhengma']);
if (!$getyanzhengma || !$_SESSION['yanzhengma'])
{
echo ecm_json_encode(false); 
return;
}
// 判断输入的验证码getyanzhengma是否跟发送的验证码$this->yanzhengma相同
//返回msg:1:正确,0:错误, 
if($getyanzhengma == $_SESSION['yanzhengma']){
echo true;

//$ms =& ms(); 
// echo ecm_json_encode($ms->user->check_postemail($postemail));
}
########default.passport.php
/**
 *    检查安全电子邮件是否唯一
 *
 *    @author    Garbin
 *    @param     string $email
 *    @return    bool
 */
function check_email($email)
{
/* 暂时无此设置 
return true;
*/
$model_member =& m('member');
$info = $model_member->get("safeemail='{$email}'");
if (!empty($info))
{
$this->_error('email_exists');


return false;
}


return true;
}


/**
 *    检查安全手机是否唯一
 *
 *    @author    Garbin
 *    @param     string $email
 *    @return    bool
 */
function check_phone($phonenum)

$model_member =& m('member');
$info = $model_member->get("safephone='{$phonenum}'");
if (!empty($info))
{
$this->_error('phone_exists');


return false;
}
return true;
}


/**
 *    检查用户名是否唯一
 *
 *    @author    Garbin
 *    @param     string $user_name
 *    @return    bool
 */
function check_username($user_name)
{
$model_member =& m('member');
$info = $model_member->get("user_name='{$user_name}'");
if (!empty($info))
{
$this->_error('user_exists');


return false;
}


return true;
}


#######member的html中的js
$(function(){
$(".login_fill_in .mall").click(function(){
$(".sj_tr").hide();
$(".em_tr").show();
$('#phonenum').val('');
$(this).addClass("login_con active").siblings().removeClass("login_con active");
})
$(".login_fill_in .phone").click(function(){
$(".em_tr").hide();
$(".sj_tr").show();
$('#email').val('');
$(this).addClass("login_con active").siblings().removeClass("login_con active");
})
}); 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值