1、摘要I摘 要在这个信息技术告诉发展的时代,Internet 成为人们快速获取、发布和传递信息的重要渠道,它在政治、经济、学习、生活等各个方面发挥着重要的作用。众所周知,论坛是当今网络中的知名服务之一。它开辟了一块“公共”的空间供所有用户发表和读取信息,允许用户对自身感兴趣的话题展开讨论,从而起到集思广益的作用。论坛系统的主要功能是:用户交流、用户管理、信息分类及查找等。经过分析,使用 PHP+MySQL 的环境来开发本校园论坛系本论坛是使用 PHP 编写的一个简单实用的论坛程序。整个论坛采用基于常见的 B/S(Browser/Server)结构,服务器端包含 WEB 服务器和数据库服务器。关键
2、词:PHP;MySQL ;APACHE目录II目 录1 绪论 .11.1 课题背景 11.2 国内外研究现状 11.3 课题研究内容 21.4 相关知识概述 32 可行性分析 .52.1 技术可行性分析 52.2 经济可行性分析 52.3 实施可行性分析 53 需求分析 .63.1 总体需求分析 63.2 帖子模块需求分析 73.2 用户模块需求分析 73.4 系统其他需求分析 84 系统设计 .94.1 功能设计 104.2 界面设计 114.3 安全设计 .145 数据库设计 .155.1 概念结构设计 155.2 逻辑结构设计 155.3 物理结构设计 166 系统详细设计及实现 196
3、.1 论坛首页设计与实现 .196.2 版块内主题帖标题显示页面设计实现 206.3 用户登陆页面设计与实现 236.4 版块添加页面设计与实现 24III6.5 新帖保存页面设计与实现 256.6 帖子编辑页面设计与实现 257 系统测试 .288 结束语 29致 谢 30参考文献 .30附 录 32附录 A 主要源程序 32附录 B 用户手册 33附录 C 软件光盘 34山东科技大学泰山科技学院毕业设计(论文)说明书装订线11 绪论1.1 课题背景INTERNET 技术的发展至今历经数载春秋,网站是一种呈现在网络上的新兴媒体,通过 INTERNET 已经成为一个实时的,多媒体的信息传播渠道
4、。它以计算机作为载体,依靠网络覆盖全球各个地方,时时刻刻的为人们提供着各种服务.目前人们渐渐的开始把网站称之为广播、电视、报刊意外的第四新闻媒体,以“共享、公平、公正、创新、国际化、团队精神”为特征的网络文明也已经逐渐成为这个时代的标志,人们越来越习惯于通过互联网来获取信息,通过 INTERNET 在网站上发表自己对社会,对生活的理解和建议。BBS 由此应运而生,在国内我们一般称 BBS 叫做网络论坛,早期的 BBS 和一般街头和校园内的公告板性质相同,不同的地方仅仅是 BBS 通过计算机来传播或者获得消息的。一直到了个人计算机普及的时代,有些人尝试着将苹果计算机上的 BBS 转移到个人计算机
5、上,BBS 从那个时候才开始慢慢的普及起来,近些年以来由于众多爱好者的努力,BBS 的功能得到了很大的扩充,功能也越来越丰富。1.2 国内外研究现状目前,通过 BBS 系统可以即时的获取国际最新的软件和信息,也可以通过 BBS 系统来和别人讨论计算机软件、硬件、INTERNET、多媒体、程序设计以及医学等等各种有趣的话题,更可以利用 BBS 系统来刊登一些“征友” 、 “廉价转让”及“公司产品”等启示,而且这个园地就在你我身旁。拥有一台可以联网的计算机,就能够进入这个“超时代”的领域,进而去享用它无比大的魅力。目前国内外都已经迎来了 WEB2.0 时代,WEB2.0 与传统的万维网最主要的区别
6、就是用户和用户、产品供应商和企绪论装订线2业之间的更大协作。WEB1.0 时代,论坛社区基本满足网民信息生活的需求,WEB2.0 时代论坛社区呈现出了超级巨大的商业价值。当社区的用户数量达到引爆点之后,社区的流量就会开始飞速的增长,远远大于WEB1.0 时代的网站流量的增长,伴随这 WEB2.0 时代的到来 BBS 正在朝着一下两个方面发展:(1)BBS 论坛系统将会朝着及时性的方面发展,现在动态网站的设计上出现了一种的新的技术,称为 Ajax。在 Ajax 之前,页面的部分数据需要进行更新的时候必须刷新整个页面。而使用 Ajax 技术的网站,不需要进行页面的舒心就可以实现数据的即时更新,这就
7、使得 WEB 站点看起来是即时响应的。将来可以将 Ajax 技术运用到 BBS 论坛系统中来,这样就可以使论坛成员在不用刷新整个页面的情况下,就可以看到别人刚刚发出的帖子。(2)BBS 论坛系统也正在朝着图形化的方向发展。图形虚拟社区可以非常具体和形象化的模拟整个现实社区的生活,并且具备无限的可扩充性。在论坛中你甚至可以找到和现实生活完全对应的建筑。通过一根网线就可以把远在天南地北的朋友聚到一起。可以通过外形来区分不同社区的朋友而不仅仅是通过 ID,甚至可以通过外形的不同来猜测对方的性格,这些都是在传统的虚拟社区所不具备的特点。1.3 课题研究内容目前网上的网页有静态网页和动态网页两种形式。静
8、态网页不能自动更新,更新只能通过重新编写 HTML 页来实现,所以静态网页的制作和维护的工作量相当大。它的内容也不会因用户、浏览时间的变化而随之变化,所以实现人机交互有相当大的局限性,功能上有太多的限制.而动态网页的实现与静态网页不同,它由客户端向服务器提出申请,服务器根据用户请求,把动态网页内部的代码在服务器端进行相应的处理,再把结果发回客山东科技大学泰山科技学院毕业设计(论文)说明书装订线3户端。因此,动态网页有以下特点:客户端看到的不是源文件,本身不用任何处理;不同用户、不同时间、不同地点浏览同一个网页返回的结果可以不同;动态网页只有经过用户浏览时才会返回一个完整的网页,而其本身并不是一
9、个独立的网页文件;动态网页构建的网站维护起来比较容易,只需更新数据库内容即可。本次毕业设计的校园论坛系统主要是通过 PHP 语言来设计的,该校园论坛系统的主要功能是通过简单的页面实现注册用户的交流,设计的内容包括通过制作直观的论坛页面,展现论坛中的各个元素,包括版块,主题还有帖子的现实页面等等,让用户通过轻松的方式实现与对方的交流。1.4 相关知识概述PHP 是英文超文本预处理语言 Hypertext Preprocessor 的缩写。PHP 是一种 HTML 内嵌式的语言,是一种在服务器段执行的嵌入 HTML 文档的脚本语言,语言的风格类似于 C 语言,被广泛的运用在 WEB 开发上。PHP
10、 独特的语法混合了 C,JAVA,PERL 以及 PHP 自创的语法。它可以比 CGI 或者 PERL 更快速的执行动态网页。用 PHP 做出的动态页面与其他的编程语言相比,PHP 是将程序嵌入到 HTML 文档中去执行,执行效率比完全生成 HTML 标记的 CGI 要高许多;PHP 还可以执行编译后代码,编译可以达到加密和优化代码运行,使代码运行更快。MySQL 是一个关系型数据库管理系统,由瑞典 MySQL AB 公司开发,目前属于 Oracle 公司。MySQL 是一种关联数据库管理系统,关联数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性。
11、MySQL 的 SQL 语言是用于访问数据库的最常用标准化语言。Apache HTTP Server 是 Apache 软件基金会的一个开放源码的网页服务器,可以在大多数计算机操作系统中运行,由于其多平台和安全性被广绪论装订线4泛使用,是最流行的 Web 服务器端软件之一。它快速、可靠并且可通过简单的 API 扩展,将 Perl/Python 等解释器编译到服务器中。PHPMyAdmin 是一个以 PHP 为基础,以 Web-Base 方式架构在网站主机上的 MySQL 的数据库管理工具,让管理者可用 Web 接口管理MySQL 数据库。借由此 Web 接口可以成为一个简易方式输入繁杂 SQL
12、 语法的较佳途径,尤其要处理大量资料的汇入及汇出更为方便。其中一个更大的优势在于由于 PHPMyaAdmin 跟其他 PHP 程式一样在网页服务器上执行,但是您可以在任何地方使用这些程式产生的 HTML 页面,也就是于远端管理 MySQL 数据库,方便的建立、修改、删除数据库及资料表。也可借由 PHPMyAdmin 建立常用的 PHP 语法,方便编写网页时所需要的 sql语句。山东科技大学泰山科技学院毕业设计(论文)说明书MadebySQH装订线52 可行性分析校园论坛系统是基于 WEB 网页,无需专用客户端即可为用户提供简洁的聊天交流界面,用户通过发贴回帖的方式在论坛中进行学习生活等方面的交
13、流,结合管理员在线对论坛信息进行实时调整管理,从而成为最为稳定的一个校园交流平台。2.1 技术可行性分析主要需要解决的问题是使用现在存在的技术是否能够顺利实现本次毕业设计整个的论坛系统制作过程在一般的计算机上即可顺利进行,所以,现有的软件和硬件,在现有的技术和硬件的支持上可以实现本次毕业设计的制作。2.2 经济可行性分析PHP、MySQL 、Apache 、PHPMyAdmin 均是免费开源的软件,可以方便快捷的在计算机中布置 PHP 开发环境。2.3 实施可行性分析制作可行性是预测本次毕业设计制作的校园论坛系统网站在制作过程当下的硬件环境和技术能力下是否能够行得通。本次毕业设计通过简洁的论坛
14、界面制作,为注册用户提供便捷的交流服务,借鉴资料和互联网上提供的技术,并在其基础上进行进一步的优化。综上所诉,本次设计基本可以实施。需求分析63 需求分析近年来,随着互联网技术的迅猛发展,网络给人们带来了很多便利,比如人们借助于网络进行相互交流变得更加方便。因此,交流工具作为互联网中运用最为广泛的通信工具之一。校园论坛开辟了一块“公共”的空间供所有同学发表和读取信息,允许本学院同学对自身感兴趣的话题展开讨论,从而起到集思广益的作用。因此希望通过本校园论坛,帮助学院在交流方面更好的进行,在有限的成本范围内让所有的同学对交流满意。3.1 总体需求分析论坛前台为注册用户提供登陆,帖子浏览,帖子管理,
15、帖子发表,帐号信息更改等功能,为游客提供注册、帖子浏览,开放版块的帖子发表;论坛后台为管理员用户提供注册用户管理、版块管理、修改资料等功能。系统流程分析如图 3.1 所示。图 3.1 校园论坛系统流程图山东科技大学泰山科技学院毕业设计(论文)说明书MadebySQH装订线73.2 帖子模块需求分析帖子类有浏览、发帖、回帖和编辑四个方法,浏览方法又可以分为列表和查看两个子方法,管理方法有可疑分为编辑、删除、置顶三个子方法。如图 3.2 所示,只有管理员和发帖用户有权限管理帖子。图 3.2 帖子对象用例图3.2 用户模块需求分析 根据校园论坛系统功能需求分析,按照实现功能来划分,主要包括两大模块:
16、普通用户模块和管理员模块。用户模块中的主要功能包括如下用户注册:新用户输入相应的信息,进行注册。用户登陆:用户输入用户名,密码,用来进行身份确认。个人信息查询:用户可以查询自己的信息。个人信息修改:用户可以修改自己的信息。发表、修改文章:用户可以查看有权限的文章,并且可以发表和修改自己的文章。管理员想要登录后台以管理校园论坛,为了校园论坛的安全,这里特别用单独的一个模块为管理员登录,管理员进入后,则必须输入正确用户名和密码来获得验证。在这个管理员的管理模块中,可以实现管理员的管需求分析8理。对与和多的论坛,都有多个管理员,但是在本校园论坛系统中,只设置了一个管理员。其管理的权限如下:管理版块:
17、论坛版块的添加、删除、修改功能;管理帖子:用户帖的编辑、删除的权限管理用户:用户信息的修改、添加、删除。浏览论坛的模块:浏览所有的论坛版块,包括有权限限制的发帖子:正常注册用户的发帖功能浏览论坛的帖子,回贴。图 3.3 用户对象用例图3.4 系统其他需求分析操作的简易、实用性是本系统针对用户大多是学生,教师。因此,操作的简易实用性就体现的尤其重要。在此系统的开发中就体现了这一点,系统的界面美观,朴实,充满了校园文化;用户使用简单。对于一个校园论坛系统而言,论坛信息是较多,使用人数较多,所以对系统的安全性有比较高的要求:对于数据库,要设置不同用户的权限,数据的修改必须由合法用户操作。xx 科技大
18、学泰山科技学院毕业设计(论文)说明书MadebySQH装订线94 系统设计根据上节的系统分析可以知道,可以将整个论坛的功能分为前台和后台两个部分,因此模块也分为两大类:前台模块和后台模块。用户在前台的注册、登陆以及修改个人的注册信息组合成注册登陆模块:用户浏览模块、浏览主题帖列表、查看帖子组合成浏览模块;用户发帖、回帖、编辑自己的帖子组合成发帖回帖模块;管理员编辑帖子、删除帖子和置顶帖子组合成管理帖子模块。以上是四个模块组成前台的功能模块。后台模块都是与管理员相关的,设置论坛参数单独为后台设置模块;创建、修改和删除版块为管理版块模块;添加、删除和设置权限为管理用户模块。如图 4.1 所示的是论
19、坛的模块体系图。图 4.1 论坛的模块体系图系统设计104.1 功能设计对于注册用户,在论坛系统中需要的功能为:注册个人身份,登陆论坛,成功后可以修改自己的注册信息,这些行为只与用户自身相关,设计成注册登陆模块;浏览版块列表,选择某版块,显示其下面的主题帖子列表,查看帖子内容。这些行为是用户读取论坛的版块及帖子的相关信息,设计成浏览模块;发表自己的帖子,回复已有的帖子,同时也可以编辑自己的帖子。这些行为是用户参与论坛讨论,发表自己简介的,设计为发帖回帖模块。对于管理员用户,需要负责整个论坛的正常运转,因此需要更多的管理功能,归纳为:具备注册用户的功能,即管理员也是论坛用户;管理帖子,管理员对论
20、坛的帖子有监督的权利,好的帖子要奖励,坏的帖子要及时删除,置顶帖子,这些行为都是对帖子的操作,设计成管理帖子模块;管理版块,论坛建设成功后,需要管理员进行创建、修改版块信息,设计成管理版块模块;管理用户,用户注册成功后,需要管理员赋予权限,才能使用论坛的相关功能。同时,管理员可以自主添加、删除用户,这些针对用户信息的操作,设计成管理用户模块。通过分析得到用户整体用例图,如图 4.2 所示:xx 科技大学泰山科技学院毕业设计(论文)说明书MadebySQH装订线11图 4.2 用户整体用例图4.2 界面设计论 坛 主 页 面 index.php 用 于 显 示 当 前 论 坛 中 版 块 列 表
21、 如 图4.3 所 示 。4.3 论坛主页面 index.php论坛主题帖列表显示页面 forums.php 如图 4.4 所示。系统设计12图 4.4 论坛主题帖列表显示页面 forums.php论坛帖子内容及回帖查看页面如图 4.5 所示如图 4.5 帖子内容及回帖页面 thread.php发新帖页面如图 4.6 所示xx 科技大学泰山科技学院毕业设计(论文)说明书MadebySQH装订线13图 4.6 登陆用户发帖页面用户登陆页面如图 4.7 所示图 4.7 用户登陆界面 login.php系统设计144.3 安全设计论坛系统存储了大量的敏感数据,它关系到管理员和普通用户双方的利益,系统
22、运行的过程中,论坛管理员和用户的操作都要涉及到这些敏感数据的处理,所以本论坛对系统的安全行要求非常高,数据库的安全保密就是保证数据库信息的完整,防止非授权用户窃取或者篡改数据信息。为了保证本系统数据库的安全,主要采用了论坛用户的安全管理、身份认证和加密技术等安全机制来实现数据库的安全。MySQL SERVER 主要完成对数据库对象的存储、管理、接收执行客户机上传来的数据指令,并将执行结果反馈给客户机,在实现安全管理中支持多级安全管理机制,即在进入系统前,需要验证用户名和密码。建立数据库安全管理,对数据库进行存取时候,对不同的用户给予不同的权限,以限制不同用户操作数据库的权限等。论坛系统安全性的
23、实现包括:安全管理,由于系统用户种类较多,由管理员负责数据库结构的维护、管理等工作。其他用户只能使用数据库中的数据,但是不能更改数据库的结构。用户身份认证,论坛中包含大量的敏感数据,为了保证系统数据在存储和网络传输的过程中,不被未授权用户访问或者解读,需用用户名来标明用户身份,经系统鉴别用户的合法性后,再利用口令进一步核实用户身份,为保证口令的安全,在口令的提交过程中,不采用明文形式,即:先对用户口令进行加密然后在传输到数据库中以密文的方式存储,这样就可以保证他的安全性。xx 科技大学泰山科技学院毕业设计(论文)说明书MadebySQH装订线155 数据库设计数据库是整个论坛系统的核心,负责对
24、论坛需要信息的收集组织,存储,加工,抽取和传播等功能。数据库的设计关系系统的好坏,因此要做好论坛系统,首先就要有科学的方法进行数据库的设计。5.1 概念结构设计根据对数据流和外部实体,数据库所涉及到的实体及属性的分析,得出 E-R 图如图 5.1 所示。图 5.1 数据库设计 E-R 图5.2 逻辑结构设计1、E-R 图向关系数据模型转换系统设计16定义一个关系模型是一个二维表 R(A1,A1,AN) ,其中 R 为关系名,Ai 为属性名。确切的说,一个关系模型对应一个数据库基表。逻辑结构设计首先是把基本的 E-R 图像关系数据模型转换,最简单的转换可以将基本 E-R 图中的每个实体定义为一个
25、关系模型,一个联系也是一个关系,从而得到关系模型。关系中每个属性都是不可分割的数据项,不允许表中有表;一个关系只是描述一个信息实体,或者实体中的一种联系。2、规范化规范化是数据库逻辑设计的指南和工具,它贯穿数据库设计过程中的数据分析、基本的 E-R 图的设计和逻辑设计。特别在逻辑设计中,通过对关系模型 R( A1,A2AN)的函数依赖进行模式分解。可以消除更新异常,当然有时为了提高查询速度,也可以牺牲规范化程度。5.3 物理结构设计本论坛数据库使用 MySQL 建立,使用可视化的 MySQL 管理工具PHPMyAdmin 创建相关数据表。论坛版块表(Forums ):该表包含版块 ID,版块名
26、称,版块描述,最后更新作者,最后更新时间,版块序号,游客权限。如表 5.1 所示表 5.1 Forums 表字段 类型 长度 描述ID int 11 版块号Forum_name varchar 50 版块名称Forum_description varchar 200 版块描述Last_post_author varchar 50 最后更新作者Last_post_time datetime 最后更新时间Forum_order tinyint 3 版块序号isGuest tinyint 3 游客权限判断xx 科技大学泰山科技学院毕业设计(论文)说明书MadebySQH装订线17会员表(Member
27、):该表包含用户 ID,用户组 ID,用户名,真实用户名,电子邮件,签名,主页,QQ 号码,MSN 号码,注册时间,发帖数量。如表 5.2 所示。表 5.2 Member 表字段 类型 长度 描述ID int 11 用户 IDgroupID tinyint 3 用户组 IDusername varchar 50 用户名Real_name varchar 50 真实用户名Email varchar 50 电子邮件heading varchar 50 签名homePage varchar 50 主页Qq int 10 QQ 号码MSN varchar 50 MSN 帐号jointime datet
28、ime 注册时间No_of_post smallint 6 发帖数量sign varchar 200 备注主题表(Topic):该表包含主题帖 ID,帖子标题,作者,最后更新作者,最后更新时间,点击量,回复量,置顶标志,头像标志,好帖标志,所在版块号。如表 5.3 所示。系统设计18表 5.3 Topic 表字段 类型 长度 描述ID int 11 主题帖 IDtitle varchar 100 帖子标题author varchar 50 作者Last_post_author varchar 50 最后更新用户名Last_post_time datetime 最后更新时间No_of_hit s
29、mallint 6 点击量No_of_reply mediumint6 回复量locked tinyint t 置顶face varchar 50 头像topic tinyint 3 主题good tinyint 3 精华帖标志Forum_id mediumint200 所在版块回帖表(Forums ):该表包含回帖 ID,主题帖 ID,版块描述,最后更新作者,最后更新时间,版块序号,游客权限。如表 5.4 所示表 5.4 Thread 表字段 类型 长度 描述ID int 11 帖子 IDtopicID tinyint 3 主题帖 IDface varchar 50 头像title varc
30、har 50 标题author varchar 50 作者Post_time varchar 50 回复时间subject varchar 50 回复主题xx 科技大学泰山科技学院毕业设计(论文)说明书MadebySQH装订线196 系统详细设计及实现本校园论坛系统采用 DW+PHP 设计制作。6.1 论坛首页设计与实现论坛首页用于读取当前论坛中 forums 表中的论坛版块的相关数据,将其显示在页面上,并为每一个版块生成一个连接,用户可以通过链接进入当前版块,查看此版块下面的主题贴,若当前数据库中不存在任何版块页面将会显示论坛正在建设中。实现代码如下。论坛列表登陆 注册“;elseecho
31、$_SESSION“username“.“,我的资料 注销“;if($_SESSION“groupID“=“2“) echo “ 论坛管理“;?状态 论坛 最后更新 0)while($row=mysql_fetch_array($result)?“.$row“forum_name“.“.$row“forum_description“ ?对不起,论坛尚在建设中“;close_db();?6.2 版块内主题帖标题显示页面设计实现主题帖显示页面用于显示当前所在版块中所有的主题帖子,考虑到了板块下会存在很多的主题帖子,本页面使用了数据分页功能,每页显示 20条数据,定义每页显示内容多少的变量存储在 g
32、lobal.php 文件中,通过修改其中的 list_rows 可以控制每页现实主题帖的数量,分页主要通过数据查询是的显示结果限制,并在页面的右下方生成分页跳转的链接。实现代码如下。“;echo “ n n n “;echo “第“.$intpage.“页/ 共“.$pageno.“页“;if($pageno1)echo “n “;if($intpage1)echo“n“;if($pageno10)$a=Floor($pageno/10);$b=Floor($intpage/10);$c=$b*10+1;$d=$b*10+10;$e=$intpage%10;$g=($b-1)*10+1;if(
33、$intpage10)if($b“.$i.“;elseif($e=0)for($i=$g;$i“.$i.“;elsefor($i=$c;$i“.$i.“;elsefor($i=1;$i“.$i.“;elsefor($i=1;$i“.$i.“;if($pageno$intpage)echo “n “;if($pageno1)echo “n “;echo “n “;echo “n“;$F=$_GET“F“;$sql=“select forum_name from forums where ID=$F“;$result=mysql_query($sql);$rs=mysql_fetch_array(
34、$result);$forum_name=$rs“forum_name“;echo “当前论坛为:$gb_name$forum_name“;?系统详细设计及实现22登陆 注册“;、elseecho $_SESSION“username“.“,我的资料 注销“;if($_SESSION“groupID“=“2“) echo “ 论坛管理“;?状态帖子标题作者浏览/ 回复最后编辑“.$title.“ ?6.3 用户登陆页面设计与实现用户登陆页面用于实现用户登陆的功能,在有权限限制的版块中,只有登陆用户,才可以在论坛中发帖。用户登录时需要通过表单传送值到数据库中进行验证,如果验证通过,则显示用户登陆
35、成功,并且通过 session保存当前用户的登陆状态。实现的代码如下。usernamepasswordalert(密码不正确,请返回检查!);location.href=login.php;“;else$_SESSION“username“=$username;$_SESSION“groupID“=$rs“groupID“;$_SESSION“islogined“=“OK“;echo“alert(登陆成功!);location.href=index.php;“;elseecho“alert(没有这个用户,请返回检查!);location.href=login.php;“;?6.4 版块添加页面
36、设计与实现版块添加页面主要实现的功能是接受表单所传送过来的值,表单的值通过 POST 方式传送,本页面主要将接受到的值提交到数据库中保存。需要接受并保存到数据库的值有 forums_name(版块名) ,forum_description(版块描述) ,forums_order ,isguest。主要实现代码如下。xx 科技大学泰山科技学院毕业设计(论文)说明书MadebySQH装订线256.5 新帖保存页面设计与实现新帖保存页面负责接收创建新帖页面表单中通过 POST 方式传来的相关值,包括帖子的标题,内容等,作者信息首先通过 SESSION 检查是否有用户登陆,若没有,返回登陆界面,若有,
37、则将所有信息包括标题,内容,作者,时间等信息插入 Thread 表中。主要实现代码如下。alert(您尚未登陆,请先登陆!);location=login.php;“;exit(); $sql=“insert into topic (title,author,last_post_author,last_post_time,no_of_hit,no_of_reply,locked,topic,good,forum_id) values ($title,$author,$author,now(),0,0,0,0,0,$F)“;mysql_query($sql); $topicID=mysql_in
38、sert_id(); $sql=“insert into thread (topicID,title,author,post_time,subject) values ($topicID,$title,$author,now(),$content)“;mysql_query($sql);if($author!=“Guest“)$sql=“update member set no_of_post = no_of_post + 1 where username=$author“;mysql_query($sql); ? window.history.back(-2)6.6 帖子编辑页面设计与实现帖
39、子编辑页面主要使用 GET 获得通过相关帖子页面 URL 传来的帖子ID 值,检查 session 中存储的用户名,只有发帖的用户和管理员才可以编辑自己发的帖子,若 session 是空的,则提示需要登陆或者权限不够,并通过 ID 值在数据库中获取帖子的相关信息现实在表单中相关的文本框,文本域中。主要实现代码如下。系统详细设计及实现26history.back;“;$sql=“select A.author,A.title,A.face,A.subject,B.title as topictitle from thread A,topic B where A.ID=$ID and A.topi
40、cID=B.ID“;$rs=mysql_fetch_array(mysql_query($sql);$rename=$rs“author“;$title=$rs“title“;$face=$rs“face“;$topictitle=$rs“topictitle“;$resubject=$rs“subject“; if($_SESSION“groupID“!=“2“)if($_SESSION“username“!=$rename)|empty($_SESSION“islogined“) echo “history.go(-1);“; $sresult=mysql_fetch_array(mysql_query(“select forum_name,isguest from forums where ID=$F“);$forum_name=$sresult“forum_name“; ? 编辑帖子用户