前台页面代码login.html:
<form id="loginForm" action="login" method="post">
<p><input placeholder="请输入用户名" name="username"/></p>
<p><input placeholder="请输入密码" type="password" name="password"/></p>
<p id="loginTip"></p>
<span class="check">
<input type="checkbox" name="rember"/>
</span>
<label>自动登陆</span></label>
<input class="add_to" id="login" type="button" οnclick="keyEnter()" value="登录"/>
</form>
登录按钮keyEnter()方法:
function keyEnter(){
var action = $('#loginForm').attr('action');
var parms = $('#loginForm').serialize();
$.post(action,parms,function(data){
$('#loginTip').html('');//data后台处理登录后返回的数据
if(data['status'] == 0){
$('#loginTip').html(data['msg']);
}else{
location.href = data['url'];
}
},'json');
}
/**
*用户登录
*/
public function login(){
if (IS_POST) {
$user = D("Users");//创建Users模型
$data = I('post.');//用户提交登录信息
$res = $user -> login($data);//获取用户信息查询结果
if($res){
if(I('post.rember') === 'on'){
cookie('username',$res["username"],2592000); // 指定cookie保存30天时间
cookie('password',$res["password"],2592000); // 指定cookie保存30天时间
}
/* 记录登录SESSION和COOKIES */
$auth = array(
"userid" => $res["userid"],
"username" => $res["username"],
"mobile" => $res["mobile"],
"address" => $res['address'],
);
session("user_auth", $auth);
$res['status'] = 1;
$res['url'] = U('Index/index');
$this->ajaxReturn($res);
}else{
$res['status'] = 0 ;
$res['url'] = U('Users/login');
$res['msg'] = "用户名或者密码输入错误!";
$this->ajaxReturn($res);
}
}else{
$this->display();
}
}
在UsersModel.class.php中处理用户提交的数据:
public function login($data){
$username = $data['username'];
$password = md5($data['password']);
$info = $this -> getByUsername($username);
if($info != null){
if($password === $info['password']){
return $info;
}else{
return false;
}
}
}