mvc做一个用户登陆页面
时间: 2023-08-25 09:33:00 浏览: 80
好的,我可以为您提供一个简单的MVC用户登录页面的示例。
首先,我们需要创建一个名为“UserController”的控制器类,该类将处理用户登录和注销的过程。以下是示例代码:
```php
<?php
class UserController {
public function login() {
// 处理用户登录的逻辑
if ($_SERVER['REQUEST_METHOD'] === 'POST') {
// 获取用户提交的表单数据
$username = $_POST['username'];
$password = $_POST['password'];
// 验证用户提交的数据是否正确
if ($username === 'admin' && $password === 'admin123') {
// 登录成功,将用户信息存储在session中
$_SESSION['user'] = ['username' => $username];
// 跳转到用户首页
header('Location: /user/index');
exit;
} else {
// 登录失败,返回登录页面并显示错误信息
$error = '用户名或密码错误';
require_once 'views/user/login.php';
}
} else {
// 显示登录页面
require_once 'views/user/login.php';
}
}
public function logout() {
// 处理用户注销的逻辑
unset($_SESSION['user']);
// 跳转到登录页面
header('Location: /user/login');
exit;
}
}
```
接下来,我们需要创建一个名为“login.php”的视图文件,该文件将显示用户登录表单和错误信息。以下是示例代码:
```html
<!DOCTYPE html>
<html>
<head>
<title>用户登录</title>
</head>
<body>
<h1>用户登录</h1>
<?php if (isset($error)): ?>
<p style="color: red;"><?php echo $error; ?></p>
<?php endif; ?>
<form method="post">
<label>用户名:</label>
<input type="text" name="username"><br>
<label>密码:</label>
<input type="password" name="password"><br>
<button type="submit">登录</button>
</form>
</body>
</html>
```
最后,我们需要创建一个名为“index.php”的入口文件,该文件将实例化控制器并调用相应的方法来处理用户请求。以下是示例代码:
```php
<?php
session_start();
// 自动加载类文件
spl_autoload_register(function($class) {
require_once 'controllers/' . $class . '.php';
});
// 解析URL并调用相应的方法
$path = $_SERVER['PATH_INFO'];
$parts = explode('/', $path);
$controllerName = ucfirst($parts[1]) . 'Controller';
$methodName = isset($parts[2]) ? $parts[2] : 'login';
$controller = new $controllerName();
$controller->$methodName();
```
现在,您可以将上述三个文件放在同一个目录下,并在Web服务器上运行“index.php”文件,即可访问用户登录页面。
阅读全文