首页 > 生活百科 > 动态网站设计实训报告附带代码(动态网站设计实训报告——从零开始构建一个留言板网站)

动态网站设计实训报告附带代码(动态网站设计实训报告——从零开始构建一个留言板网站)

动态网站设计实训报告——从零开始构建一个留言板网站

本次动态网站设计实训是我们学院计算机科学专业的一项必修课程,通过课程的学习,我们深入了解了动态网站的设计原理与实现方式。在本次实训中,我从零开始构建了一个基于PHP和MySQL的留言板网站,以下是我的实践经验与代码分享。

第一部分:环境搭建与数据库设计

在开始编写代码之前,我们需要先搭建好开发环境,并设计需要用到的数据库。首先,我选择了XAMPP作为我的开发环境,并在其中安装PHP和MySQL。接着,我创建了一个名为“message_board”的数据库,其中包含了以下两张表:

用户表

该表主要用于存储用户的注册信息,包括用户名、密码、昵称等。表结构如下:

```html CREATE TABLE `users` ( `id` int(11) NOT NULL AUTO_INCREMENT, `username` varchar(50) NOT NULL, `password` varchar(50) NOT NULL, `nickname` varchar(50) DEFAULT NULL, `create_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP, PRIMARY KEY (`id`) ) ```

留言表

该表主要用于存储留言信息,包括留言内容、留言时间、用户ID等。表结构如下:

```html CREATE TABLE `messages` ( `id` int(11) NOT NULL AUTO_INCREMENT, `content` text NOT NULL, `create_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP, `user_id` int(11) NOT NULL, PRIMARY KEY (`id`), KEY `FK_user_id` (`user_id`), CONSTRAINT `FK_user_id` FOREIGN KEY (`user_id`) REFERENCES `users` (`id`) ON DELETE CASCADE ON UPDATE CASCADE ) ```

在数据库设计完成后,我们需要在PHP中编写相应的代码来连接数据库,并实现留言板的基本功能。

第二部分:用户登录与注册功能

用户登录与注册功能是留言板的核心功能之一,我们需要确保用户能够简单快速地完成操作。在这里,我采用了基于SESSION的用户认证方式。

用户注册

用户注册主要包括三个步骤:输入注册信息、验证信息是否合法、将信息存入数据库。其中最关键的是验证信息是否合法的部分,代码实现如下:

```html if (isset($_POST['submit'])) { $username = trim($_POST['username']); $password = trim($_POST['password']); $confirm_password = trim($_POST['confirm_password']); $nickname = trim($_POST['nickname']); // 检查用户名是否已经存在 $sql_check_username = \"SELECT count(*) FROM users WHERE username = '{$username}' \"; $result_check_username = $mysqli->query($sql_check_username); $count = $result_check_username->fetch_array()[0]; if ($count > 0) { echo \"\"; exit; } // 验证密码是否一致 if ($password !== $confirm_password) { echo \"\"; exit; } // 将用户信息存入数据库 $password = md5($password); $create_time = date(\"Y-m-d H:i:s\"); $sql_insert_user = \"INSERT INTO users (username, password, nickname, create_time) VALUES ('{$username}', '{$password}', '{$nickname}', '{$create_time}')\"; if ($mysqli->query($sql_insert_user)) { echo \"\"; } else { echo \"\"; } } ```

用户登录

用户登录主要包括两个步骤:输入用户名密码、验证用户名密码是否正确。在验证用户名密码是否正确的部分,我采用了使用session记录用户信息的方式。

代码实现如下: ```html if (isset($_POST['submit'])) { $username = trim($_POST['username']); $password = trim($_POST['password']); $sql_check_user = \"SELECT * FROM users WHERE username = '{$username}' AND password = '\" . md5($password) . \"'\"; $result_check_user = $mysqli->query($sql_check_user); if ($row = $result_check_user->fetch_array()) { $_SESSION['user'] = array( \"id\" => $row[\"id\"], \"username\" => $row[\"username\"], \"nickname\" => $row[\"nickname\"], ); echo \"\"; } else { echo \"\"; } } ```

第三部分:留言板页面与留言功能

留言板页面是用户和留言互动的核心页面,我们需要确保用户能够方便地查看、留言、回复等操作。

留言板页面主要元素

留言板页面主要包括以下几个基本元素:

  • 留言列表:显示所有已发布的留言
  • 发表留言表单:用于用户新建留言
  • 回复留言表单:用于用户回复留言

发表留言功能

发表留言功能是用户能够互动的关键之一,我们需要确保用户能够方便地输入并提交留言内容。

代码实现如下: ```html if (isset($_POST['submit'])) { $user_id = $_SESSION['user']['id']; $content = trim($_POST['content']); if (!$user_id) { echo \"\"; exit; } if (!empty($content)) { $sql_insert_msg = \"INSERT INTO messages (user_id, content) VALUES ({$user_id}, '{$content}')\"; if ($mysqli->query($sql_insert_msg)) { echo \"\"; } else { echo \"\"; } } else { echo \"\"; } } ```

回复留言功能

回复留言功能是用户能够交流的关键之一,我们需要确保用户能够方便地选择留言并回复。

代码实现如下: ```html if (isset($_POST['submit'])) { $user_id = $_SESSION['user']['id']; $content = trim($_POST['content']); $parent_id = intval($_POST['parent_id']); if (!$user_id) { echo \"\"; exit; } if (!empty($content)) { $sql_insert_reply = \"INSERT INTO messages (user_id, content, parent_id) VALUES ({$user_id}, '{$content}', {$parent_id})\"; if ($mysqli->query($sql_insert_reply)) { echo \"\"; } else { echo \"\"; } } else { echo \"\"; } } ```

就是我从零开始构建一个留言板网站的实践经验和代码分享,希望对大家学习动态网站设计有所帮助。