资源描述:
《手把手教你写php论坛.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、一直做ASP的我,最近开始学PHP了。第一个作品就是这个微型论坛(也可以叫做留言本),虽然没啥技术含量,但是想起04年刚来的经典论坛学ASP时,起步困难,所以想把我近来学PHP的一点心得写出来,希望给和我一样学习PHP的朋友一点参考,能让初学者走的弯子少一点,顺利点。也算我为论坛做的一点贡献吧。(其实说这是教程我心虚的很,主要我也是初学者,代码写的菜,希望有经验者能给予指点)。最好手边能有一本PHP基础的书,我用的书一本是人民邮电的《精通PHP+MYSQL应用开发》(很多人都反映它不怎么样);另一本是北京理工大学出版社的《PHP基础教程》,书比较老了,但是介绍的PHP函数比
2、较细致。我文字表达能力有限,希望看不明白的同学表骂我……另:我利用下班时间写这篇东西,打算一边完善这个小论坛一边写。因为时间有限,作者水平更有限,所以我准备每天更新一点直到写完为止,要一下子全部写完我估计很有难度,希望大家见谅)下面开始吧:我的论坛的功能:用户分三个级别:游客;注册用户;管理员用户:用户注册;登陆;发帖;回复;编辑自己的帖子;管理员:管理(包括添加、修改、删除)论坛版块;管理帖子(置顶、精华、移动、删除);如果版块完全开放则游客也可以发帖子。1、PHP环境搭建及MYSQL安装我不在说了,经典原来有详细说明的帖子。你还可以参照:http://bbs.bluei
3、dea.com/viewthread.php?tid=1645815或者http://www.phpe.net/articles/363.shtml这里来在你的电脑上搭建PHP运行环境。我的环境:WIN2000+APACHE2.23+MYSQL5.02、建立数据库。PHPMYADMIN是个不错的管理MYSQL的东东,大家可以使用它来建立数据库。我用的是MYSQL-FRONT,也很好用。其实一个软件,顺手就好,用不着跟风。呵呵。或者你也可以使用MYSQL本身提供的MySQLCommandLineClient来操作数据库:输入登陆密码,登陆成功后显示如下:建立mybbs数据库,
4、代码如下:mysql>CREATEDATABASEmybbs;成功后显示QueryOK,1rowaffected。以下论坛建表同理:建立论坛版块表forums,结构如下:mysql>CREATETABLE`forums`(->`ID`int(11)NOTNULLauto_increment,->`forum_name`varchar(50)NOTNULLdefault'',->`forum_description`varchar(200)NOTNULLdefault'',->`last_post_author`varchar(50)NOTNULLdefault'',->`l
5、ast_post_time`datetimeNOTNULLdefault'0000-00-0000:00:00',->`forum_order`tinyint(3)NOTNULLdefault'0',->`isguest`tinyint(3)NOTNULLdefault'0',->PRIMARYKEY(`ID`)->);运行成功后图如下所示:建立用户表member,结构如下mysql>CREATETABLE`member`(->`ID`int(11)NOTNULLauto_increment,->`groupID`tinyint(3)NOTNULLdefault'0',->
6、`username`varchar(50)NOTNULLdefault'',->`real_name`varchar(50)NOTNULLdefault'',->`password`varchar(50)NOTNULLdefault'',->`email`varchar(50)NOTNULLdefault'',->`headimg`varchar(50)NOTNULLdefault'',->`homepage`varchar(50)defaultNULL,->`qq`varchar(10)defaultNULL,->`MSN`varchar(50)defaultNULL,-
7、>`jointime`datetimeNOTNULLdefault'0000-00-0000:00:00',->`no_of_post`smallint(6)defaultNULL,->`sign`varchar(200)defaultNULL,->PRIMARYKEY(`ID`)->);建立主题表tioic,如下:mysql>CREATETABLE`topic`(->`ID`int(11)NOTNULLauto_increment,->`title`varchar(100)NOTNULLdefault'',->`