我的论坛源代码(一)


Posted in PHP onOctober 09, 2006

其实写这几篇代码的时间不过近三天而已,事前即没有经过详细思考和计划(可以说一点计划都没有)那天想起做个论坛试试,于是就做起来了,而我也是才接触了将近一个月时间的PHP,以前也没真正写过程序之类的东东,在写这段代码的两天半时间里,有好几次遇到困难,都想放弃,但是我还是写出来了,而且没想到居然能用,所以中间可能有很多隐患也说不清,虽然说是可以用了。
再过两天,我就要去上班,也没时间再仔细地从头到尾检查这些代码了,这也是我放上来的原因之一,还有一个原因是,因为我想让大家一起来看看这些字符,我只是个菜鸟,中间可能有很多捷径没走,也有可能有很多地方不对,而且近两天我改了部份页面的代码,但其它相关的代码没去掉,所以有些地方有点重覆。但是它能正常运行,这是肯定的(至少表面上正常,我在WIN98/APACHE/PHP/MYSQL下用没问题,在网上测试也没问题,其它环境下就不知道了。我只希望和我一样的菜鸟们,或是比我还菜的菜鸟们能从中得到些什么,而那些老鸟及前辈们能来信或留言指出中间的缺点或不足的话,我会更高兴。因为那样的话,我也可从中学到不少东西。我的邮件地址是:hllinyu@netease.com,OICQ:2289230,主页地址是:http://lfox.oso.com.cn
好了,废话说太多了,我希望大家能投入到修改这个论坛源代码的工作中来,让它成为中国人自己开发的免费论坛,让论坛代码成为许许多多像我一样对PHP很感兴趣而又感觉无从下手的朋友们手下的参考资料就行了。下面来看我的论坛吧!
首先介绍要用的两个表存放贴子信息的foxbbs和存放用户信息的useinfo,因为当初考虑到数据空间不是很大,所以选择了MYSQL+TXT的方式来做,所有主题除了内容外都是存放在MYSQL里的,而数据量相对较大的主题内容和回复内容都单独存放扩展名为.FOX和.BBS的TXT格式文件里,在表里加个存放文件名的字段就行了,为了避免文件名重覆,取当前的系统时间来做文件名,比如2001年1月2日11时20分30秒发了一张帖子,文件名就是20010102112030.txt我想这能满足绝大部分的要求了,因为可能没几个论坛会热到每秒钟都有两张或两张以上的新帖出现吧!呵呵……
此论坛的具体情况可见http://lfox.oso.com.cn/foxbbs/foxbbs.php,另外主页面http://lfox.oso.com.cn/index.php上提供源码打包下载,看了源代码可别来捣乱哦。

useinfo 用户信息表  
0   usename    varchar(8)    not null          用户名
1   usepass    varchar(8)    not null          密码
2   useni      varchar(30)   not null 昵称  
3   useoicq    varchar(12)   not null    
4   usesex     int(1)        not null 用户性别  
5   useage     int(2)        not null 用户年龄  
6   usezy      varchar(4)    not null 职业  
7   useaddr    varchar(20)   not null 地址  
8   usemail    varchar(40)   not null 邮箱  
9   useweb     varchar(50)   not null 主页  
10  useqm      varchar(240)  not null  签名   
11  useattr    int(1)        not null 属性   1用户2版主3管理员4站长  
12  useinf     int(1)        not null 是否公开信息 1否2是   
13  useid      int(5)        not auto_increment   primary key   用户ID号
14  usebq      int(1)        not null   表情
15  regdate    datetime;                注册时间
16  enddate    varchar(22)   not null   最后到站时间
17  ftnum      int(4)        not null   发贴数
18  usety      char(1)  not null         

foxbbs 论坛主题表  
0 id int(5) not auto_increment primary key  
1 usename varchar(20) NOT 发帖用户名  
2 ftbq int(1) not 表情  
3 title varchar(40) not 主题  
4 ftdate varchar(22) not 发帖时间  
5 mesname varchar(15) not 内容文件名 20010102055635 我多了留一位,以防意外,其实十四位就足够了。
6 djnum int(4) not 点击数  
7 hfnum int(3) not 回复数  
8 hfdate varchar(24) not 最后回复时间  
9 hfname varchar(20) not 回复文件名
10 hfusename varchar(20) not 最后回复人名
11 ip      varchar(15)
12 lockes int 1

linkfox.inc.php连接数据库用
<?
$dbhostname = "lfox";
$dbusername = "root";
$dbpassword = "root";
$dbName = "flyfox";
MYSQL_CONNECT($dbhostname, $dbusername, $dbpassword) OR DIE("Unable to connect to database");
@mysql_select_db( "$dbName") or die( "Unable to select database");
?>  

PHP 相关文章推荐
编写自己的php扩展函数
Oct 09 PHP
PHP 文件上传功能实现代码
Jun 24 PHP
PHP与MongoDB简介|安全|M+PHP应用实例详解
Jun 17 PHP
PHP中使用php5-ffmpeg撷取视频图片实例
Jan 07 PHP
php实现改变图片直接打开为下载的方法
Apr 14 PHP
PHP中使用curl入门教程
Jul 02 PHP
php实现图片等比例缩放代码
Jul 23 PHP
php+mysql实现简单登录注册修改密码网页
Nov 30 PHP
基于php(Thinkphp)+jquery 实现ajax多选反选不选删除数据功能
Feb 24 PHP
PHP实现的Redis多库选择功能单例类
Jul 27 PHP
PHP常量及变量区别原理详解
Aug 14 PHP
常见的5个PHP编码小陋习以及优化实例讲解
Feb 27 PHP
我的论坛源代码(二)
Oct 09 #PHP
我的论坛源代码(三)
Oct 09 #PHP
我的论坛源代码(四)
Oct 09 #PHP
PHP的FTP学习(三)
Oct 09 #PHP
我的论坛源代码(六)
Oct 09 #PHP
我的论坛源代码(五)
Oct 09 #PHP
杏林同学录(五)
Oct 09 #PHP
You might like
PHP 类商品秒杀计时实现代码
2010/05/05 PHP
php+highchats生成动态统计图
2014/05/21 PHP
PHP用反撇号执行外部命令
2015/04/14 PHP
PHP使用stream_context_create()模拟POST/GET请求的方法
2016/04/02 PHP
php 流程控制switch的简单实例
2016/06/07 PHP
php 指定范围内多个随机数代码实例
2016/07/18 PHP
php实现网页端验证码功能
2017/07/11 PHP
javascript Keycode对照表
2009/10/24 Javascript
基于jquery的网站幻灯片切换效果焦点图代码
2013/09/15 Javascript
jQuery之Deferred对象详解
2014/09/04 Javascript
充分发挥Node.js程序性能的一些方法介绍
2015/06/23 Javascript
关于Jquery中的事件绑定总结
2016/10/26 Javascript
微信小程序 devtool隐藏的秘密
2017/01/21 Javascript
react学习笔记之state以及setState的使用
2017/12/07 Javascript
微信小程序实现YDUI的ScrollNav组件
2018/02/02 Javascript
Angular使用操作事件指令ng-click传多个参数示例
2018/03/27 Javascript
node.js express捕获全局异常的三种方法实例分析
2019/12/27 Javascript
vue全屏事件开发详解
2020/06/17 Javascript
深度解读vue-resize的具体用法
2020/07/08 Javascript
python以环状形式组合排列图片并输出的方法
2015/03/17 Python
Python获取二维矩阵每列最大值的方法
2018/04/03 Python
Python实现自定义顺序、排列写入数据到Excel的方法
2018/04/23 Python
python3下使用cv2.imwrite存储带有中文路径图片的方法
2018/05/10 Python
pytz格式化北京时间多出6分钟问题的解决方法
2019/06/21 Python
Python使用Pandas库实现MySQL数据库的读写
2019/07/06 Python
python爬虫模拟浏览器的两种方法实例分析
2019/12/09 Python
如何通过Django使用本地css/js文件
2020/01/20 Python
python统计文章中单词出现次数实例
2020/02/27 Python
Python3.7 读取音频根据文件名生成脚本的代码
2020/04/07 Python
腾讯技术类校园招聘笔试试题
2014/05/06 面试题
小溪流的歌教学反思
2014/02/13 职场文书
和谐家庭演讲稿
2014/05/24 职场文书
出纳工作检讨书
2014/10/18 职场文书
乡镇团委工作总结2015
2015/05/26 职场文书
呐喊读书笔记
2015/06/30 职场文书
apache ftpserver搭建ftp服务器
2022/05/20 Servers