用PHP来实现记得,session_start()启动 session 语句应放到<html>标志前,所以先利用 php 语句启动 session,同时利用 include_once。然后利用 if 语句判断$_SESSION['uid'](记录账号)是否存在,如果存在则 定向欢迎页面即【Welcome.php】。 添加第二个 if 语句验证用户名和密码,即:使用 if 语句进行判断,如果 $_POST['user'] 和$_POST['pwd']存在值则将值赋给临时变量$user 和$pass,然后 进行 sql 操作:1.在已经连接的 MySQL 数据库中执行 SQL 语句:查询 users 表 中用户名为 $user 的记录,将获得的结果保存在 $result 变量中(1.2.语句可以 合并)。2. 将从查询结果中获取一行数据,保存在一个变量中如$row。从数据库提取处密码后,添加第二层 if 语句接着进行密码比对。如果成功则 将$row['id']赋值给$_SESSION['uid']。定向欢迎页面即【Welcome.php】。 下面开始 html 的页面编写。主要包括两点:1. 添加 jsp 验证用户和密码不 能输入为空,2. 添加用户和密码的输入域。 至此,【index.php】结束。
时间: 2024-02-11 16:08:52 浏览: 137
好的,下面是一个简单的实现。请注意,这只是一个示例代码,需要根据具体情况进行修改和完善。
```php
<?php
// 启动 session
session_start();
// 检查用户是否已经登录
if (isset($_SESSION['uid'])) {
// 如果已经登录,跳转到欢迎页面
header('Location: Welcome.php');
exit();
}
// 检查用户提交的用户名和密码
if (isset($_POST['user']) && isset($_POST['pwd'])) {
// 获取用户名和密码
$user = $_POST['user'];
$pass = $_POST['pwd'];
// 连接数据库
$conn = mysqli_connect('localhost', 'username', 'password', 'database');
// 查询用户信息
$sql = "SELECT * FROM users WHERE username='$user'";
$result = mysqli_query($conn, $sql);
// 检查查询结果
if ($result && mysqli_num_rows($result) > 0) {
// 获取用户信息
$row = mysqli_fetch_assoc($result);
// 检查密码是否正确
if (password_verify($pass, $row['password'])) {
// 登录成功,保存用户 ID 到 session 中
$_SESSION['uid'] = $row['id'];
// 跳转到欢迎页面
header('Location: Welcome.php');
exit();
} else {
// 密码错误,显示错误消息
$error = '用户名或密码错误!';
}
} else {
// 用户不存在,显示错误消息
$error = '用户名或密码错误!';
}
// 关闭数据库连接
mysqli_close($conn);
}
?>
<!DOCTYPE html>
<html>
<head>
<title>Login</title>
</head>
<body>
<h1>Login</h1>
<?php if (isset($error)): ?>
<p><?php echo $error; ?></p>
<?php endif; ?>
<form method="post">
<div>
<label for="user">Username:</label>
<input type="text" name="user" required>
</div>
<div>
<label for="pwd">Password:</label>
<input type="password" name="pwd" required>
</div>
<div>
<input type="submit" value="Login">
</div>
</form>
</body>
</html>
```
阅读全文