namespace app\index\controller;
use think\Controller;
use think\Request;
class User extends Controller
{
public function login()
{
if (Request::instance()->isPost()) {
$data = input('post.');
$validate = validate('User');
if (!$validate->check($data)) {
return $this->error($validate->getError());
}
$userModel = model('User');
$user = $userModel->where('username', $data['username'])->find();
if (!$user || $user['password'] != md5($data['password'])) {
return $this->error('用户名或密码错误');
}
session('user', $user, 'user');
return $this->success('登录成功', 'index/index');
}
return $this->fetch();
}
public function logout()
{
session(null, 'user');
return $this->success('退出成功', 'user/login');
}
}
这段代码实现了用户的登录和退出功能。登录方法首先检查是否是POST请求,如果是,则读取用户输入并验证数据,然后查找用户信息,验证用户名和密码,如果验证通过则创建用户会话,否则返回错误信息。退出方法则清除用户会话并重定向到登录页面。这个实现遵循了MVC模式,使得代码结构清晰,易于维护。