编写login.php用于接收用户登录的表单数据。编写index.php,当session中保存了用户的登录信息时显示首页,否则跳转到登录页面。logout.php中删除session保存的用户登录状态。
时间: 2024-03-10 09:46:14 浏览: 22
下面是login.php的代码:
```php
<?php
session_start();
if ($_SERVER['REQUEST_METHOD'] === 'POST') {
$username = $_POST['username'];
$password = $_POST['password'];
// TODO: 验证用户输入的用户名和密码是否正确
// 假设验证通过
$_SESSION['username'] = $username;
header('Location: index.php');
exit();
}
?>
<form method="post" action="login.php">
<label>用户名:<input type="text" name="username"></label>
<label>密码:<input type="password" name="password"></label>
<button type="submit">登录</button>
</form>
```
上面的代码中,我们首先在文件开头调用了 `session_start()` 函数来开启会话,然后判断请求的方法是否为 POST,并获取用户输入的用户名和密码。
在验证用户输入的用户名和密码的部分,我们可以使用数据库或者其他的方式来进行验证。如果验证通过,则将用户名保存到 session 中,然后跳转到首页。否则,可以给出一个错误提示,让用户重新输入。
下面是index.php的代码:
```php
<?php
session_start();
if (!isset($_SESSION['username'])) {
header('Location: login.php');
exit();
}
?>
<!DOCTYPE html>
<html>
<head>
<title>首页</title>
</head>
<body>
<h1>欢迎您,<?php echo $_SESSION['username']; ?>!</h1>
<p>这里是首页的内容。</p>
<a href="logout.php">退出登录</a>
</body>
</html>
```
上面的代码中,我们首先调用了 `session_start()` 函数来开启会话,然后判断 session 中是否保存了用户名。如果没有保存,则跳转到登录页面。
如果 session 中保存了用户名,则显示欢迎信息和首页的内容,并提供一个链接用于退出登录。
下面是logout.php的代码:
```php
<?php
session_start();
session_destroy();
header('Location: login.php');
exit();
?>
```
上面的代码中,我们首先调用了 `session_start()` 函数来开启会话,然后调用 `session_destroy()` 函数来删除保存的 session 数据。最后,跳转到登录页面。