手机邮箱合并辨别注册功能!

 分享一段手机邮箱合并登录代码,也记起来方便以后查看!代码中调用的函数是一些判断!就不贴出来了,可以自己改写成简单的验证!

//前台代码

<div class="f_r">
  <div class="regist_tip"><i class="icon"></i>用100分的专业,塑造品质的开始</div>
  <p><span class="f_r">已注册可<a href="javascript:void();" class="blue">直接登录</a></span>欢迎注册</p>
  <form method="post" class="sign_form">
   <li><input type="text" value="" name="username" class="input" placeholder="请输入手机号码/邮箱注册" /></li>
   <li><input type="password" name="password" value="" class="input" placeholder="密码由6-20位字母,数字和符号组合" /></li>
   <li><input type="password" value="" name="repassword" class="input" placeholder="请再次输入上面的密码" /></li>
   <li class="code"><input type="text" value="" name="code" class="input" placeholder="验证码" /><a href="javascript:void(0);" οnclick="uJgetcode(this);" class="btn_a">获取验证码</a></li>
   <li class="text"><input type="checkbox" value="1" name="sure" checked="checked" />您已阅读并接受<a href="{:U('index/protocal')}" target="_blank" class="blue">欧蓓健康商城</a>服务条款</li>
   <input type="hidden" name="md5reg" value="{$md5reg}"/>
   <li><input type="button" value="注册帐号" class="btn-blue" οnclick="uJdoPost(this);" data-url="{:U("user/register")}"/></li>
  </form>
  <div class="login_other">
   <p>您可以使用以下方式登录</p>
   <a href="#" class="qq"></a><a href="#" class="sina"></a><a href="#" class="weixin"></a>
  </div>
 </div>

//获取验证码js

 function uJgetcode(self) {
        var form = $(self).parents('form'), user = form.find('input[name="username"]').val(), bcode = form.find('input[name="md5reg"]').val();
        if ($.zyb.util.empty(user)) {
            $.zyb.tip({content: '请输入手机号码', icon: 'error'});
            return false;
        }
        $(self).find('b:eq(1)').text('提交验证...');
        $.getJSON(GV.msgv, {username: user, bcode: bcode}, function (rs) {
            if (rs.status == 1) {
                $.zyb.tip({content: rs.msg});
                $(self).find('#J_run_miao').text(60);
                $(self).find('b:eq(1)').text('秒后可重试');
                //重置验证域
                form.find('input[name="md5reg"]').val(rs.data);
                uJrunmiao();
            } else {
                $.zyb.tip({content: rs.msg, icon: 'alert'});
            }
        });
        return false;
    }


//一个通用的bdtij

//表单post提交
function uJdoPost(self){
	 var form=$(self).parents('form'),webtext=$(self).val(),url=$(self).attr('data-url');;
	  $.ajax({
		url:url,
		data:form.serialize(),
		type:"POST",
		beforeSend:function()
		{
			 $(self).val("正在提交...");
		},
		success:function(rs){
			if(rs.status==2){
				post_tip({content:rs.msg});
				setTimeout(function(){
					window.location.href=rs.data;
				},1500);
				return 1;
			}if(rs.status == 1){
				post_tip({content:rs.msg});
				setTimeout(function(){window.location.reload();},2000);
				return 1;
			}if(rs.status ==3){
				post_tip({content:rs.msg});
				$('.dialog_box').hide();
				$('.dialog_box').html(rs.data).show();
				return 1;
			}if(rs.status ==-1){
				alert(rs.msg);
				return 1;
			}else{
				post_tip({content:rs.msg,icon: 'alert'});
				$(self).val(webtext);
				return 1;
			}
		},
	});
}



//控制器代码!

/**
    * 手机短信注册
    * **/
   public function msg_verify(){
                     $mobile= $username=$this->_get('username','trim');
                     $bcode=$this->_get('bcode','trim');
                     //生成随机验证码
                     $code=rand(100000, 999999);
                     if(is_email($username)){
                           if (!C('zyb_reg_status')) {
                                $this->ajaxReturn(0,C('zyb_reg_closed_reason'));
                            }
                            //验证
                            $user = M('user')->where(array('email'=>$username,'status'=>1))->find();
                            $user && $this->ajaxReturn(0,'用户已存在,请更换邮箱');
                            //解析邮件模板
                            $tpl_data['code']=$code;
                            $mail_body = D('message_tpl')->get_mail_info('register', $tpl_data);
                            //发送邮件
                            $mailer = mailer::get_instance();
                             if ($mailer->send( $username, '注册账号',$mail_body)) {
                                 //发送邮件
                                 $this->_mail_queue($user['email'] , '邮箱在注册',$mail_body);
                                //提交成功后一次。更改验证表单域
                                 $md5reg=md5(time().time());
                                 //提交表单需验证此字段
                                 session('md5reg',$md5reg);
                                 session('reg_msg',array('data'=>$username,'code'=>$code));
                                 $this->ajaxReturn(1,'已发送到您的邮箱,请查收!',$md5reg);
                             }else{
                                  $this->ajaxReturn(0,'发送失败,该用户邮箱不存在或服务器邮箱配置出错!');
                             }
   }else if(is_mobile($username)){               
                            //过率已存在以及生成规则
                            D('user')->mobile_exists($mobile)&&$this->ajaxReturn(0,'手机号码已存在,请更换!');
                            if(M('msg')->where(array('to'=>$mobile,'time'=>array('gt',time()-60)))->count()){
                                    $this->ajaxReturn(0,'重发时间未到,请稍等!');
                            }
                            if(M('msg')->where(array('to'=>$mobile,'time'=>array('gt',todaytime())))->count()>10){
                                    $this->ajaxReturn(0,'您今天操作手机过于频繁,请明天再试');
                            }


                           $searchs = array('{username}','{msg}');
                           $replaces = array($username,$code);
                           $content=C('zyb_msg_server.template');
                           //替换后台模板
                           $content=str_replace($searchs,$replaces,$content);
                            $data['content']= $content;
                            $data['mobile']=$mobile;
                            $rs=send_http_msg($data);//发送短信
                            if($rs){
                               //提交成功后一次。更改验证表单域
                                $md5reg=md5(time().time());
                                //提交表单需验证此字段
                                session('md5reg',$md5reg);
                                 session('reg_msg',array('data'=>$username,'code'=>$code));
                                $this->ajaxReturn(1,'验证码已成功发送到您的手机!',$md5reg);
                            }else{
                                 $this->ajaxReturn(0,'发送失败!');
                            }
   }else{
                         $this->ajaxReturn(0,'注册账号格式不对,请填写手机号码或邮箱!');
                    }
   }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值