Correcting teacher:查无此人
Correction status:qualified
Teacher's comments:完成的不错,继续加油。
<?php
//开启会话
session_start();
// 为简化程序, 使用了一个中间层: 请求派发器,类似于框架的控制器, 对用户的请求进行集中处理
// 1: 已登录: 显示出用户的登录信息, 显示退出按钮
if (isset($_SESSION['name'])) {
echo '用户: ' . $_SESSION['name'] . '已登录<br>';
echo '<a href="dispatch.php?action=logout">退出</a>';
} else {
// 2. 未登录,就跳转到登录页面
echo '<a href="dispatch.php?action=login">请登录</a>';
}
?>
// 只需要在该脚本中打开会话即可, check.php/logout.php/login.php都是由它调用的, 不必重复开启
session_start();
// 连接数据库
require __DIR__ . '/connect.php';
// 获取请求参数
$action = isset($_GET['action']) ? $_GET['action'] : 'login';
$action = htmlentities(strtolower(trim($action)));
// 请求分发
switch ($action) {
// 1. 登录页面
case 'login':
// 加载登录表单
include __DIR__ . '/login.php';
break;
// 2. 验证登录
case 'check':
include __DIR__ . '/check.php';
break;
// 3. 退出登录
case 'logout':
include __DIR__ . '/logout.php';
break;
// 默认操作
default:
header('Location: index.php');
echo '<script>location.assign("index.php");</script>';
}