一个简单的PHP Web论坛

1、需求分析

  • 通过发表文章开始新的讨论话题
  • 发表文章来回复已有的文章
  • 查看发表的文章
  • 查看论坛中的交谈话题
  • 查看文章之间的关系,也就是,查看哪篇文章是另外文章的回复

2、解决方案

2.1 论坛设计

一个简单的PHP Web论坛_第1张图片
一个简单的PHP Web论坛_第2张图片
一个简单的PHP Web论坛_第3张图片

2.2 Web论坛应用程序中用到的文件

文件名称

类型

描述

index.php

应用程序

用户进入站点看到的主页。包括该站点中所有文章的可扩展及删除的列表

new_post.php

应用程序

用来发表新文章的表单

store_new_post.php

应用程序

保存已输入到new_post.php表单中的文章

view_post.php

应用程序

显示一篇单独的文章及回复它的文章的列表

treenode_class.php

函数库

包含节点类,我们将要用它来显示文章的继承关系

include_fns.php

函数库

将该程序中用到的所有其他函数库放在一起(其他库类型文件在这里列出)

data_valid_fns.php

函数库

数据检验函数

db_fns.php

函数库

数据库连接函数

discussion_fns.php

函数库

处理存储及重新获得发表的文章的函数

output_fns.php

函数库

输出HTML的函数

create_database.sql

SQL

建立该程序所需要数据库的SQL脚本


3、实现数据库

CREATE DATABASE discussion;	#创建论坛数据库

USE discussion;	#使用论坛数据库

CREATE TABLE header	#创建数据头表
(
	parent INT NOT NULL,	#父文章的postid
	poster CHAR(20) NOT NULL,	#该文章的作者
	title CHAR(20) NOT NULL,	#该文章的标题
	children INT DEFAULT 0 NOT NULL,	#该文章是否有回复,0无,1有,默认0
	area INT DEFAULT 1 NOT NULL,	#备用于扩展时,实现多个论坛的多个版块
	posted datetime NOT NULL,	#该文章的发表的时间和日期
	postid INT UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY	#每篇文章的唯一的ID
);

CREATE TABLE body	#创建正文表
(
	postid INT UNSIGNED NOT NULL PRIMARY KEY,	#每篇文章的唯一的ID
	message text	#该文章的正文
);

GRANT SELECT,INSERT,UPDATE,DELETE
ON discussion.*
TO discussion@localhost IDENTIFIED BY 'password';

4、实现源代码

下载地址: 一个简单的PHP Web论坛

你可能感兴趣的:(PHP)