一个简单的PHP Web论坛
1、需求分析
- 通过发表文章开始新的讨论话题
- 发表文章来回复已有的文章
- 查看发表的文章
- 查看论坛中的交谈话题
- 查看文章之间的关系,也就是,查看哪篇文章是另外文章的回复
2、解决方案
2.1 论坛设计
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, #父文章的postidposter CHAR(20) NOT NULL, #该文章的作者title CHAR(20) NOT NULL, #该文章的标题children INT DEFAULT 0 NOT NULL, #该文章是否有回复,0无,1有,默认0area 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, #每篇文章的唯一的IDmessage text #该文章的正文
);GRANT SELECT,INSERT,UPDATE,DELETE
ON discussion.*
TO discussion@localhost IDENTIFIED BY 'password';
4、实现源代码
一个简单的PHP Web论坛相关推荐
- 一个简单的Java web服务器实现
前言 一个简单的Java web服务器实现,比较简单,基于java.net.Socket和java.net.ServerSocket实现: 程序执行步骤 创建一个ServerSocket对象: 调用S ...
- 02 创建一个简单的Python Web程序应用
第二章 创建第一个Python Web程序应用 目的:制作一个简单的欢迎网站,熟悉Python Web的基本开发流程以及掌握Django的基本结构和常用命令. Python Web的基本开发流程可以概 ...
- 一个简单的静态web服务器实现
看完tomcat原理后,想自己用java仿一个简单的tomcat,先实现一个静态的web服务器.需要的技术有java网络编程(tcp/ip协议.http协议.socket等基础知识) 源码下载链接ht ...
- 一个简单的静态web服务器
用python的socket写的一个简单多进程服务器 #-*-coding:utf-8-*- import re from socket import * from multiprocessing i ...
- java web容器_java-实现一个简单的java Web容器
技术栈 java.net.Socket java.net.ServerSocket 执行流程 创建一个ServerSocket对象: 调用ServerSocket对象的accept方法,等待连接,连接 ...
- 转:一个简单的基于WEB的QTP自动化测试框架-SAFFRON
来源: http://www.itestware.com/ctest/index.php?option=com_content&view=article&id=62:webqtp-sa ...
- html简单购物车,用jsp实现一个简单的购物车web应用系统。
1. 在自己建立的WEB工程中,建立包shopcart.dto,在相应的包中添加类Product.java ,ShopCart.java 1./*类Product */ 2.3.package sho ...
- go : go gin mysql 创建一个简单的后端web服务
吃别人吃不了的苦,忍别人受不了的气,付出比别人更多的,才会享受的比别人更多 !!! 具体代码在: https://gitee.com/hjx_RuGuoYunZhiDao/strom-huang-go ...
- 搭建一个简单vue项目web项目全过程(完整步骤)
一.安装node环境 1.下载地址为:Node.js 2.检查是否安装成功:如果输出版本号,说明我们安装node环境成功 2.检查是否安装成功:如果输出版本号,说明我们安装node环境成功 3.为了提 ...
最新文章
- MyBatis点滴积累
- BZOJ 2154 [国家集训队]Crash的数字表格 / JZPTAB(莫比乌斯反演,经典好题)(Luogu P1829)
- UTXO Commitment有望彻底解决大区块存储问题
- Pod详解-生命周期-钩子函数
- math.js:灵活强大的JavaScript数学库
- 解读大型网站系统架构的演化
- 算法六之直接插入排序
- 除了给予人权,欧洲议会还要让机器人纳税
- javascript 函数式编程(1)
- android 沙盒 ios,iOS中的沙盒机制
- Web的未来:语义网
- debian远程桌面设置
- 动易和php,国内主流CMS对比之织梦内容管理系统VS动易
- Java从入门到精通(视频教程+源码)
- 什么是java框架结构_Java框架概述
- Kiwi Syslog日志服务器的安装及配置使用
- Word/excel/df文档转图片返回前端
- 倒序输出字符串,如输入i love you,则输出you love i
- 基于MC9S12G使用编码器(控制)输出PWM
- 使用自己的ISO文件制作PE
热门文章
- /etc/passwd文件+/etc/shadow文件(图解+字段详解)
- springmvc 登录互斥,实现避免单账户被多个地方同时登录
- 如何选择开源许可证?
- 安卓开发设置全屏隐藏标题栏
- 【Liunx】manjaro 配置vscode python开发环境
- charles源码分析
- 杭电oj 1000 c++ 版本
- Android 应用基础知识和应用组件
- php weize_docs.html
- python读取xlsx文件年月日变成数字_python转化excel数字日期为标准日期操作