我的论坛源代码(一)


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 curl参数的详解
Jun 17 PHP
php读取本地文件常用函数(fopen与file_get_contents)
Sep 09 PHP
使用swoole扩展php websocket示例
Feb 13 PHP
php的array数组和使用实例简明教程(容易理解)
Mar 20 PHP
PHPUnit安装及使用示例
Oct 29 PHP
ThinkPHP无限级分类原理实现留言与回复功能实例
Oct 31 PHP
php+mysql实现用户注册登陆的方法
Jan 03 PHP
PHP设计模式之适配器模式代码实例
May 11 PHP
百度地图经纬度转换到腾讯地图/Google 对应的经纬度
Aug 28 PHP
ThinkPHP框架安全实现分析
Mar 14 PHP
php中使用websocket详解
Sep 23 PHP
针对thinkPHP5框架存储过程bug重写的存储过程扩展类完整实例
Jun 16 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实现简单搜歌的方法
2015/07/28 PHP
PHP函数checkdnsrr用法详解(Windows平台用法)
2016/03/21 PHP
Thinkphp 框架扩展之数据库驱动常用方法小结
2020/04/23 PHP
JavaScript中访问节点对象的方法有哪些如何使用
2013/09/24 Javascript
Nodejs进程管理模块forever详解
2014/06/01 NodeJs
使用CDN和AJAX加速WordPress中jQuery的加载
2015/12/05 Javascript
浅析在javascript中创建对象的各种模式
2016/05/06 Javascript
如何使用Vuex+Vue.js构建单页应用
2016/10/27 Javascript
纯JS实现弹性导航条效果
2017/03/06 Javascript
JavaScript实现简单精致的图片左右无缝滚动效果
2017/03/16 Javascript
微信小程序实现多个按钮toggle功能的实例
2017/06/13 Javascript
详解微信小程序 登录获取unionid
2017/06/27 Javascript
seajs下require书写约定实例分析
2018/05/16 Javascript
Vue中mintui的field实现blur和focus事件的方法
2018/08/25 Javascript
layui button 按钮弹出提示窗口,确定才进行的方法
2019/09/06 Javascript
js操作两个json数组合并、去重,以及删除某一项元素
2020/09/22 Javascript
python抓取百度首页的方法
2015/05/19 Python
pandas 取出表中一列数据所有的值并转换为array类型的方法
2018/04/11 Python
详解Django rest_framework实现RESTful API
2018/05/24 Python
Python3中详解fabfile的编写
2018/06/24 Python
python多线程并发让两个LED同时亮的方法
2019/02/18 Python
Python自定义函数计算给定日期是该年第几天的方法示例
2019/05/30 Python
Python将文字转成语音并读出来的实例详解
2019/07/15 Python
python的常见矩阵运算(小结)
2019/08/07 Python
python requests库爬取豆瓣电视剧数据并保存到本地详解
2019/08/10 Python
pytorch中的transforms模块实例详解
2019/12/31 Python
Django User 模块之 AbstractUser 扩展详解
2020/03/11 Python
使用anaconda安装pytorch的实现步骤
2020/09/03 Python
Adobe Html5 Extension开发初体验图文教程
2017/11/14 HTML / CSS
总经理助理岗位职责
2013/11/08 职场文书
人事任命书格式
2014/06/05 职场文书
12.4全国法制宣传日活动方案
2014/11/02 职场文书
行政文员岗位职责
2015/02/04 职场文书
2015年万圣节活动总结
2015/03/24 职场文书
MySQL 发生同步延迟时Seconds_Behind_Master还为0的原因
2021/06/21 MySQL
Nginx下SSL证书安装部署步骤介绍
2021/12/06 Servers