分享一段手机邮箱合并登录代码,也记起来方便以后查看!代码中调用的函数是一些判断!就不贴出来了,可以自己改写成简单的验证!
//前台代码
<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,'注册账号格式不对,请填写手机号码或邮箱!');
}
}