1、对实验要求进行分析,并对实验的文件目录进行设计; 2、建立数据库 cookie 并新建一张用户表 user,里面包含两个字段姓名字段 name 和密码字段 pwd,向数据库中插入数据; 3、新建文件 index.php。里面包含两个一个文本框,一个密码框,分别提供 用户姓名的输入和用户密码的输入; 4、在 index.php 的表单提交到 login_pro.php 文件中,并且在 login_pro 文件 中对提交的数据进行处理; 5、新建文件 login_pro 文件,首先判断 cookie 文件中是否包含加密之后的密 码信息,如果有直接使用,如果没有则使用 md5 进行加密处理; 6、连接数据库,判断用户是否存在,存在则查找的数据集里面包含数据, 如果不存在则数据集里面不包含数据; 7、如果存在使用 header 重定向到 result 文件里面; 8、如果不存在则提示错误,并输出错误的用户名和密码。
时间: 2024-02-09 20:13:25 浏览: 66
实验要求分析:
该实验要求实现用户的登录功能,使用 Cookies 进行会话控制。具体要求如下:
1. 建立数据库 cookie,新建一张用户表 user,包含姓名字段 name 和密码字段 pwd。
2. 在 index.php 文件中,提供两个输入框,让用户输入用户名和密码,并提交表单到 login_pro.php 文件中。
3. 在 login_pro.php 文件中,使用 md5 对密码进行加密处理,并连接数据库,判断用户是否存在。
4. 如果存在,使用 header 重定向到 result.php 文件中,否则提示错误。
5. 在 result.php 文件中,输出欢迎信息。
文件目录设计:
```
- index.php
- login_pro.php
- result.php
- assets/
- css/
- style.css
- js/
- script.js
```
其中,assets 文件夹存放静态资源,包括 CSS 和 JS 文件。
数据库设计:
```
CREATE DATABASE cookie;
USE cookie;
CREATE TABLE user (
id INT(11) NOT NULL AUTO_INCREMENT,
name VARCHAR(50) NOT NULL,
pwd VARCHAR(50) NOT NULL,
PRIMARY KEY (id)
);
INSERT INTO user (name, pwd) VALUES ('admin', '21232f297a57a5a743894a0e4a801fc3');
```
在上面的 SQL 语句中,使用 md5 对密码进行了加密处理,admin 的密码为 admin。
实验过程:
1. 在 index.php 文件中,提供两个输入框和一个提交按钮,让用户输入用户名和密码,并提交表单到 login_pro.php 文件中。
```
<form method="post" action="login_pro.php">
<label for="name">Name:</label>
<input type="text" id="name" name="name" required>
<label for="pwd">Password:</label>
<input type="password" id="pwd" name="pwd" required>
<button type="submit">Login</button>
</form>
```
2. 在 login_pro.php 文件中,对提交的数据进行处理,使用 md5 对密码进行加密处理,并连接数据库,判断用户是否存在。
```
<?php
session_start();
if (isset($_POST['name']) && isset($_POST['pwd'])) {
$name = $_POST['name'];
$pwd = md5($_POST['pwd']);
$conn = mysqli_connect('localhost', 'root', 'password', 'cookie');
if (!$conn) {
die('Connection failed: ' . mysqli_connect_error());
}
$sql = "SELECT * FROM user WHERE name='$name' AND pwd='$pwd'";
$result = mysqli_query($conn, $sql);
if (mysqli_num_rows($result) > 0) {
// 用户存在,设置 Cookies,并重定向到 result.php 页面
setcookie('name', $name, time()+3600);
header('Location: result.php');
exit;
} else {
// 用户不存在,输出错误信息
echo 'Invalid username or password';
}
mysqli_close($conn);
}
?>
```
3. 在 result.php 文件中,输出欢迎信息。
```
<?php
session_start();
if (isset($_COOKIE['name'])) {
$name = $_COOKIE['name'];
echo 'Welcome, ' . $name . '!';
} else {
header('Location: index.php');
exit;
}
?>
```
最后,将 CSS 和 JS 文件引入到 HTML 页面中,美化页面和增加交互体验。
阅读全文