您的位置:首页 > 编程语言 > PHP开发

基于ThinkPHP的登录后账户中心

2015-06-12 17:50 609 查看
这篇文章解决什么问题:

一般系统都有登录功能,那么如何根据登录后的信息,来编写账户中心的页面呢?

本文将编写南****微网登录后账户中心的页面。(部分代码)

//登录方法
public function login() {
if (IS_POST) {
$username = trim(I('username'));
$password = md5(I('password'));

$wei_user = M('users')->field(array(
'user_id',
'username'
))->where(array(
'username' => $username,
'password' => $password
))->find();
if ($wei_user) {
cookie('user', json_encode($wei_user), 0, __ROOT__);
session('user', json_encode($wei_user));

$this->success('登录成功', '/shouji/Home/User/account');
} else {

$this->error('账号或密码错误!');
}
} else {
$this->display();
}
}

1、验证帐号密码的正确性,并从数据表中取出user_id ,username字段。

2、把这两个字段写入cookie和session中。

3、返回登录状态

项目/Common/function.php
/**
* 判断session中的用户是否存在
*/
function isHomeUser(){
$user = session('user');
if(empty($user)){
session('user',null);
return false;
}
$user = json_decode($user);
if(empty($user)){
session('user',null);
return false;
}
return M('users')->where(array('user_id'=>$user->user_id,'username'=>$user->username))->field('user_id,username,charactor')->find();
}

1、根据session中的信息,查询数据表验证正确性。并取出部分字段

注意:where条件中的字段要和数据表中的一致。

public function loan(){
$user=  isHomeUser();
if($user){
//这里写对账户中心的操作,主要是对数据表的一些读取
}
else {
$this->redirect('/');
}
}

1、只有登录后,session中信息验证无误,才允许访问账户中心。否则将调转
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: