东华理工大学毕业设计 系统总体设计
存储用户的ID、昵称和发表帖子的、其中提供的链接、标题内容时间以及相关信息表,如下图2-4所示:
图2-4 用户信息表
记录发帖的详细信息表db_posts,其中记录在数据表的ID、板块ID、是否置顶、发帖人、帖子标题、帖子内容、发帖IP和创建时间的信息。如下图2-5所示:
图 2-5用户的创建信息表
在设计论坛是加入了信息附件的上传功能db_attachment,包括在数据表的ID、标题ID,帖子的ID、发帖人的名称、上传文件名、文件大小、文件路径、以及下载的次数等信息。如下图2-6所示;
12
东华理工大学毕业设计 系统总体设计
图2-6上传文件的信息表
根据帖子的内容属性选择相关的的板块发表帖子db_forums,记录ID,版块名,帖子数和回复数的相关信息。如下图2-7所示:
图2-7 板块信息表
13
东华理工大学毕业设计 系统详细功能设计
第四章 系统详细功能实现
论坛在 Internet 可以说现在很普遍了,尤其是百度论坛做的很完善。从论坛分析中可将论坛大致可以分为两个组成部分:后台管理和用户浏览(前台)。无论是管理员方还是用户方都不必安装该系统。相关的环境是Apache和PHP应放在同一目录下,相关web信息应放在Apache目录下在htdocs下方便访问。后台管理是管理员通过帐户密码验证后登陆论坛管理系统,进行相应的管理如用户管理、帖子信息审核管理,权限管理。而对于用户,通过注册成为论坛认可的用户,完善个人相关信息。登陆论坛浏览或者发表、回复帖子,个人空间,关注其他用户等。所以,论坛系统要识别权限级别的用户,也需要对用户进行权限的管理。如注册的新用户、拥有一定资质的用户、版主、以及最高权限的管理员。所以论坛的实现需要包括如下功能:数据库的访问,CSS 样式表的使用,论坛系统功能的实现。
4.1 访问数据库
在该论坛设计中为了信息安全只有通过连接数据库匹配论坛的相关管理员和用户信
息才能进入相关内容查阅,怎样实现数据库mysql与PHP的连接是一个非常重要的一步。所以在进入论坛之前就要建立数据库连接。通过远程连接数据库也是该课题需要实现的功能之一。PHP 语言本身提供相关的的数据库操作函数,如对MySQL 的访问,首先通过 PHP 的函数 mysql_pconnect 或 mysql_connect 建立对数据库服务器的连接,然后通过 mysql_select_db 函数从数据库中选择本论坛的数据库,如果需要对数据库操作,可以用 mysql_unbuffered_query函数发送 SQL 语句来实现。数据库的连接代码: function connect($_DB){
$this->pre=$_DB['prefix'];
//打开数据库的持久连接如果未打开产生新的连接否则不产生
if ($this->pconnect){
$this->connection_id=mysql_pconnect($_DB['hostname'],$_DB['username'], $_DB['password']); //登陆的用户名和密码 } else{
$this->connection_id=mysql_connect($_DB['hostname'],$_DB['username'], $_DB['password']); }
14
东华理工大学毕业设计 系统详细功能设计
if ( ! $this->connection_id ){
}
数据库的关闭代码实现:
//关闭 MySQL 连接
$this->halt(\}
if ( ! @mysql_select_db($_DB['database'], $this->connection_id) ){ }
if ($_DB['charset']) { } return true;
@mysql_unbuffered_query(\$this->halt(\
//发送一个搜索匹配,如果失败失败提示
function close_db(){ }
连接远程MySql数据库:
根据课题要求实现远程数据库的连接,需要对数据库添加新的远程用户。设置如下图2-8所示:
if ( $this->connection_id ) return @mysql_close( $this->connection_id );
图2-8 远程连接设置图
代码实现:
$conn=mysql_connect(?192.168.1.1?,?root?1,.?root?); Mysql_select_b(?db_forum?,$conn); Mysql_query(?set names gb2312?); ?>
15
东华理工大学毕业设计 系统详细功能设计
4.2 CSS 样式表的使用
通过浏览其他网站论坛,我们借鉴CSS来实现自己网站需要的风格。该论坛系统风格的CSS 样式表部分代码如下: /*设置 BODY 的背景*/ body {
background:#fff;
font:12px Verdana, Tahoma, Arial; margin:0px; height:100%; /* overflow:hidden; */ }
/*设置表格列的文字和颜色属性*/ td{
font: 12px Verdana, Arial, Helvetica, sans-serif; color: #333333
}
/*设置输入框和复选框的字体和颜色*/ input,select {
font: 12px Verdana, Arial, Helvetica, sans-serif; color: #333333
}
/*设置文本框字体和颜色*/ textarer{
font: 12px Verdana, Arial, Helvetica, sans-serif; color: #333333
}
/*设置表单属性*/ from{ margin: 0 }
16

