会员中心—1—登录与注册

控制器:

 //修改密码
    public function index(){
        $this->isLogin();

        if(IS_POST){
            $uid= trim($_POST['uid']);
            $oldpass=md5(trim($_POST['oldpass']));
            $res = M("Member")->where(array('id'=>$uid,'password'=>$oldpass))->find();
            $PassWord=md5(trim($_POST['password']));
            $data['password']=$PassWord;
            
            if (!empty($res)) {
                if($res['password']==$PassWord){
                    $this->error("新密码和旧密码不能一样");
                }else{
                    $info=M("Member")->where(array('id'=>$uid))->limit(1)->save($data);
                    if($info){
                        $this->success("修改成功",U("Member/index"));
                    }else{
                        $this->error("修改失败");
                    }                    
                }

            }

        }else{
            $this->display();
        }

    }

 //会员登录
	public function login(){
		if(IS_POST){
			$userName= trim($_POST['userName']);
			$PassWord= md5(trim($_POST['passWord']));

			$where['username']=$userName;
			$where['tel']=$userName;
			$where['_logic'] = 'OR';

			$res = M("Member")->where($where)->find();  //检测登录用户名或手机是否存在

			if (!empty($res) && $res['password']==$PassWord) {
			    $data1['lastlogip']=$res['nowlogip'];
				$data1['lastlogtime']=$res['nowlogtime'];
				M("Member")->where("id=$res[id]")->save($data1);
				
				//修改本次登录ip、时间
				$data2['nowlogip']=get_client_ip();
				$data2['nowlogtime']=time();
				M("Member")->where("id=$res[id]")->save($data2);
				
				$_SESSION['qtuname']=$res['username'];
				$_SESSION['qtuid']=$res['id'];

                //保存登录用户名和密码一个月
				cookie('remember_password',trim($_POST['passWord1']),3600*24*30); // 指定密码保存一个月 
                cookie('remember_name',trim($_POST['userName1']),3600*24*30);

				M("Member")->execute("update `tp_member` set `loginnum`=`loginnum`+1 where id='".$res[id]."'"); //登录次数加1
				$this->success("登录成功",U("Index/index"));

			}elseif(!empty($res) && $res['password']!==$PassWord){
			    $this->error("密码不正确");
			}elseif(empty($res)){
			    $this->error("用户名不存在");
			}
				
		}else{
			$this->display();
		}

	}

    //会员注册
    public function register(){
      if(IS_POST){
		$userName=trim($_POST['userName']);
		$email=trim($_POST['email']);
		$tel=trim($_POST['tel']);
		$PassWord=md5(trim($_POST['passWord']));
		
		$m = M("Member");
		$UserObj1 = $m->where(array('username'=>$userName))->find();
		$UserObj2 = $m->where(array('tel'=>$tel))->find();
		$UserObj3 = $m->where(array('email'=>$email))->find();

		if(is_array($UserObj1)){
			$this->error('用户名已存在!');
		}elseif(is_array($UserObj2)){
			$this->error('该手机已注册!');
		}elseif(is_array($UserObj3)){
			$this->error('该邮箱注册!');
		}else{
	      if($m->create()){
            $m->username=$userName;
            $m->nicname=$userName;
            $m->password=$PassWord;
            $m->tel=$tel;
            $m->email=$email;
            $m->disable=1;
	        $m->addip=get_client_ip();
	        $m->addtime=time();
	        $m->updatetime=time();
	      
	        if($m->add()){

	         	$this->success("注册成功!即将返回登录","__APP__/Member/login");

	        }
	      }else{
	      	    $this->error('注册失败!');
	      }
		}

      }else{
      	$this->display();
      }
    
    }

    //忘记密码-验证邮箱
	public function forgot(){
	    if(IS_POST){
	    	$email= trim($_POST['email']);
	    	$where['email']=$email;
	    	$rs = M("Member")->where($where)->find();
	    	$uid=$rs['id'];
	    	if($rs){
	    		$this->success("邮箱验证成功",U("Member/forgot2",array('id'=>$uid)));
			}else{
				$this->error("该邮箱没有注册");
			}

	    }else{
	    	$this->display();
	    }

    }

    //忘记密码-重置密码
    public function forgot2(){
	    if(IS_POST){
	    	$uid= trim($_POST['uid']);
	    	$password= md5(trim($_POST['password']));
	    	$res = M("Member")->where(array('id'=>$uid))->find();
	    	if (!empty($res)) {
	    		if($res['password']==$password){
                    $this->error("新密码和旧密码不能一样");
	    		}else{
			    	$where['id']=$uid;
			    	$data['password']=$password;

					if(M("Member")->where($where)->limit(1)->save($data)){
						$this->success("修改成功",U("Member/login"));
					}else{
						$this->error("修改失败");
					}    			
	    		}

	    	}

	    }else{
	    	$this->display();
	    }

    }

    //退出登录
	public function logout(){
		session('qtuname',null);
		session('qtuid',null);
		$this->redirect('Member/login');
	}

	//ajax检查用户名密码是否错误
	public function checkpwd(){
		$email = I("post.email","","trim");
		$password = md5(I("post.password","","trim"));
		$where[email]=$email;
		$where[password]=$password;
		$m = M("Member");
		$count = $m->where($where)->count();
		if($count>0){
			$where[disable]=1;
			$count1 = $m->where($where)->count();
			if($count1>0){
				echo "1";
			}else{
				echo "2";
			}
			
		}else{
			echo "0";
		}
	}

register.php

		<div class="login-box login-box2">
			<div class="login-form">
				<form method="post" action="<{:U('Member/register')}>" name="form" class="form-horizontal" role="form" οnsubmit="return check();">
					<div class="form-group">
						<div class="col-sm-offset-2 col-sm-10">
							<h3>会员注册</h3>
						</div>
					</div>
					<div class="form-group">
					    <label for="firstname" class="col-sm-2 control-label">用户名:</label>
					    <div class="col-sm-10">
					      <input type="text" class="form-control" id="firstname" name="userName" placeholder="请输入您的用户名">
					    </div>
					</div>
					<div class="form-group">
					    <label for="Email" class="col-sm-2 control-label">邮箱:</label>
					    <div class="col-sm-10">
					      <input type="email" class="form-control" id="Email" name="email" placeholder="请输入您的E-mail">
					    </div>
					</div>
					<div class="form-group">
					    <label for="phoneNum" class="col-sm-2 control-label">手机号码:</label>
					    <div class="col-sm-10">
					      <input type="text" class="form-control" id="phoneNum" name="tel" placeholder="请输入您的手机号码">
					    </div>
					</div>
					<div class="form-group">
					    <label for="inputPassword" class="col-sm-2 control-label">密码:</label>
					    <div class="col-sm-10">
					      <input type="password" class="form-control" id="inputPassword" name="passWord" placeholder="请输入您的密码">
					    </div>
					</div>
					<div class="form-group">
					    <label for="Password" class="col-sm-2 control-label">确认密码:</label>
					    <div class="col-sm-10">
					      <input type="password" class="form-control" id="Password" name="passWord2" placeholder="请再次输入您的密码">
					    </div>
					</div>
					<div class="form-group">
					    <div class="col-sm-offset-2 col-sm-10">
					      <button type="submit" class="login_btn">注册</button>
					      <div class="login_b">
								<p><a href="<{:U('Member/forgot')}>">忘记密码</a></p>
								<p>有账户?<a href="<{:U('Member/login')}>">立即登录!</a></p>
						  </div>
					    </div>
					</div>
				</form>
			</div>
		</div>
-----------------------------------------------------------------------------------------------------
<script type="text/javascript">
function check(){
    var username = $('input[name="userName"]').val();
    var email = $('input[name="email"]').val();
    var tel = $('input[name="tel"]').val();
    var password = $('input[name="passWord"]').val();
    var password2 = $('input[name="passWord2"]').val();
    
    if(username == ""){
      alert('请填写用户名!');
      return false;
    }

    var myreg1 = /^([a-zA-Z0-9]+[_|\_|\.]?)*[a-zA-Z0-9]+@([a-zA-Z0-9]+[_|\_|\.]?)*[a-zA-Z0-9]+\.[a-zA-Z]{2,3}$/;
    if(!myreg1.test(email)){
      alert('请输入有效的邮箱!'); 
      return false;
    }

	var myreg = /^(((13[0-9]{1})|(15[0-9]{1})|(18[0-9]{1}))+\d{8})$/; 
	if(!myreg.test(tel)) 
	{ 
	    alert('请输入有效的手机号码!'); 
	    return false; 
	} 

    if(password==""){
      alert('请填写密码!'); 
      return false;
    } 

    if(password.length<6){
      alert('密码长度必须大于6位且有数字、字母、下划线组成');
      return false;
    }

    if(password2==""){
      alert('请填写确认密码!'); 
      return false;
    }     

    if(password2 != password){
      alert('两次密码不一致!'); 
      return false;
    }


}
</script>

login.php

		<!--登陆注册-->
		<div class="login-box">
			<div class="login-form">
				<form method="post" action="<{:U('Member/login')}>" name="form" class="form-horizontal" role="form" οnsubmit="return check();">
					<div class="form-group">
						<div class="col-sm-offset-2 col-sm-10">
							<h3>会员登录</h3>
						</div>
					</div>
					<div class="form-group">
					    <label for="num" class="col-sm-2 control-label">账号:</label>
					    <div class="col-sm-10">
					      <input type="text" class="form-control" id="num" name="userName" placeholder="手机号 / 邮箱 / 用户名">
					    </div>
					</div>
					<div class="form-group">
					    <label for="inputPassword" class="col-sm-2 control-label">密码:</label>
					    <div class="col-sm-10">
					      <input type="password" class="form-control" id="inputPassword" name="passWord" placeholder="请输入您的密码">
					    </div>
					</div>
					<div class="form-group">
					    <div class="col-sm-offset-2 col-sm-10">
					      <button type="submit" class="login_btn">登录</button>
					      <div class="login_b">
								<p><a href="<{:U('Member/forgot')}>">忘记密码</a></p>
								<p>没有账户?<a href="<{:U('Member/register')}>">立即注册!</a></p>
						  </div>
					    </div>
					</div>
					
					
				</form>
			</div>
		</div>
---------------------------------------------------------------------------------------------------
<script type="text/javascript">
function check(){
	var username = $('input[name="userName"]').val();
	var password = $('input[name="passWord"]').val();
    if(username == ""){
      alert('请填写用户名!');
      return false;
    }

    if(password==""){
      alert('请填写密码!'); 
      return false;
    }
}
</script>

forgot.php

		<div class="forgot-box">
			<div class="login-form">
				<form method="post" action="<{:U('Member/forgot')}>" name="form" class="form-horizontal" role="form" οnsubmit="return check();">
					<div class="form-group">
						<div class="col-sm-offset-2 col-sm-10">
							<h3>找回密码</h3>
						</div>
					</div>
					<div class="col-md-12">
						<p style="margin-bottom: 20px;">请输入您需要找回密码的邮箱</p>
					</div>
					<div class="form-group">
					    <label for="Email" class="col-sm-2 control-label">邮箱:</label>
					    <div class="col-sm-10">
					      <input type="email" class="form-control" id="Email" name="email" placeholder="请输入您的E-mail">
					    </div>
					</div>
					<div class="form-group">
					    <div class="col-sm-offset-2 col-sm-10">
					      <button type="submit" class="login_btn">确认</button>
					    </div>
					</div>
				</form>
			</div>
		</div>

forgot2.php

		<!--找回密码-->
		<div class="forgot-box">
			<div class="login-form">
				<form method="post" action="<{:U('Member/forgot2')}>" name="form" class="form-horizontal" role="form" οnsubmit="return check();">
					<input type="hidden" name="uid" value="<{$Think.get.id}>" />
					<div class="form-group">
						<div class="col-sm-offset-2 col-sm-10">
							<h3>找回密码</h3>
						</div>
					</div>
					<div class="col-md-12">
						<p style="margin-bottom: 20px;">请输入设置您的新密码</p>
					</div>
					<div class="form-group">
					    <label for="inputPassword" class="col-sm-2 control-label">新的密码:</label>
					    <div class="col-sm-10">
					      <input type="password" class="form-control" id="inputPassword" name="password" placeholder="请输入新密码">
					    </div>
					</div>
					<div class="form-group">
					    <label for="Password" class="col-sm-2 control-label">确认密码:</label>
					    <div class="col-sm-10">
					      <input type="password" class="form-control" id="Password" name="password2" placeholder="请再次输入新密码">
					    </div>
					</div>
					<div class="form-group">
					    <div class="col-sm-offset-2 col-sm-10">
					      <button type="submit" class="login_btn">确认</button>
					    </div>
					</div>
				</form>
			</div>
		</div>
-------------------------------------------------------------------------------------------------
<script type="text/javascript">
function check(){
    var password = $('input[name="password"]').val();
    var password2 = $('input[name="password2"]').val();
    if(password.length<6){
      alert('密码长度必须大于6位且有数字、字母、下划线组成');
      return false;
    }

    if(password!=password2){
      alert('两次密码不一致'); 
      return false;
    }
}
</script>

修改密码:

					<div class="col-md-9 col-sm-9">
						<div class="user-right">
							<h3>修改密码</h3>
							
							<div class="user-con">
								<form method="post" class="user-password" action="<{:U('Member/index')}>" οnsubmit="return check();">
									    <input type="hidden" name="uid" value="<{$_SESSION['qtuid']}>" />
										<div class="user_name">
											<label for="password">旧密码</label>
											<input type="password" placeholder="请输入旧密码" id="password" name="oldpass"/>
										</div>
										<div class="user_name">
											<label for="password">新的密码</label>
											<input type="password" placeholder="请输入新密码" id="password" name="password"/>
										</div>
										<div class="user_name">
											<label for="password">再次确认</label>
											<input type="password" placeholder="请再次输入新密码" id="npassword" name="password2"/>
										</div>
										<div class="">
											<button type="submit" class="submit">保存</button>
										</div>
								</form>
							</div>
						</div>
					</div>
--------------------------------------
<script type="text/javascript">
function check(){
	var oldpass = $('input[name="oldpass"]').val();
	var password = $('input[name="password"]').val();
	var password2 = $('input[name="password2"]').val();
	if(oldpass==""){
      alert('旧密码不能为空');
      return false;
    }

    if(password.length<6){
      alert('密码长度必须大于6位且有数字、字母、下划线组成');
      return false;
    }

    if(password!=password2){
      alert('两次密码不一致'); 
      return false;
    }
}
</script>

会员表:

CREATE TABLE IF NOT EXISTS `tp_member` (
  `id` int(4) NOT NULL AUTO_INCREMENT,
  `roleid` int(4) DEFAULT '0',
  `username` varchar(30) CHARACTER SET gbk NOT NULL,
  `nicname` varchar(30) DEFAULT NULL,
  `password` char(32) CHARACTER SET gbk NOT NULL,
  `email` varchar(32) DEFAULT NULL,
  `tel` varchar(16) DEFAULT NULL,
  `addtime` int(11) DEFAULT NULL,
  `addip` varchar(20) DEFAULT NULL,
  `disable` tinyint(1) unsigned zerofill DEFAULT NULL,
  `updatetime` int(11) DEFAULT NULL,
  `loginnum` int(11) DEFAULT '0',
  `lastlogip` varchar(20) DEFAULT NULL,
  `lastlogtime` varchar(30) DEFAULT NULL,
  `nowlogip` varchar(20) DEFAULT NULL,
  `nowlogtime` varchar(30) DEFAULT NULL,
  `score` varchar(255) NOT NULL COMMENT '积分',
  `signindata` varchar(30) NOT NULL COMMENT '签到时间',
  PRIMARY KEY (`id`)
) ENGINE=MyISAM  DEFAULT CHARSET=utf8 ROW_FORMAT=DYNAMIC AUTO_INCREMENT=5 ;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值