当前位置: 编程技术>php
本页文章导读:
▪PHP+DBM的同学录程序(3)
6、登出文件logout.php3 <? setcookie("login",false,time()+31536000); header("location:login.php3"); ?> 7、修改信息文件modify.php3 <? require("common.php3"); $id=$login; if($submit){ if($name=="")error("请填写您的名字.........
▪PHP+DBM的同学录程序(2)
3、删除成员del.php3 <? require("common.php3"); $id=chop($id); if(!isset($id))error("请输入要删除的用户ID !"); elseif($pwd<>$adminpass)error("管理员密码错误!"); else{ $data=dbmopen("class","w"); dbmdelete($da.........
▪基于mysql的bbs设计(一)
1。系统架构: 采用模块化思想,分为3层: a。数据存储层:使用mysql来存放bbs的所有数据,包括用户信息, 文章数据,用户信件,用户消息,系统数据(?),关键问题: .........
[1]PHP+DBM的同学录程序(3)
来源: 互联网 发布时间: 2013-11-30
6、登出文件logout.php3
<?
setcookie("login",false,time()+31536000);
header("location:login.php3");
?>
7、修改信息文件modify.php3
<?
require("common.php3");
$id=$login;
if($submit){
if($name=="")error("请填写您的名字!");
elseif($mail=="")error("请填写您的邮件地址!");
else{
$dbm=dbmopen("class","w");
$intro=nl2br($intro);
$data="$name|!:!|$nickname|!:!|$mail|!:!|$home|!:!|$oicq|!:!|$icq|!:!|$add|!:!|$tel|!:!|$birth|!:!|$job|!:!|$intro|!:!|$sex";
dbmreplace($dbm,$id,$data);
dbmclose($dbm);
header("Location:index.php3");
}
}else{
$dbm=dbmopen("class","r");
$data=dbmfetch($dbm,$login);
$info=explode("|!:!|",$data);
dbmclose($dbm);
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD><TITLE>同学录用户修改信息</TITLE>
<META content="text/html; charset=gb2312" http-equiv=Content-Type>
<link rel="stylesheet" href="/blog_article/style.css">
</HEAD><BODY bgcolor="#FFFFFF" topMargin=0>
<TABLE border=0 cellPadding=0 cellSpacing=0 width="100%"><BR>
<DIV align=center></DIV><CENTER><TBODY></TBODY></center>
</TABLE>
<TABLE border=0 cellPadding=0 cellSpacing=0 width="60%" align="center">
<TBODY> <TR vAlign=top>
<TD bgColor=#000000 width="100%" height="336">
<DIV align=center>
<TABLE border=0 cellPadding=4 cellSpacing=1 height=390 width=586>
<TBODY>
<TR>
<TD align=middle bgColor=#2f5e8c colSpan=2 height=14 vAlign=top><form method="POST" action="/blog_article/modify.html"> <FONT color=#ffffff>修改信息-同学录<?echo$login;?></FONT></TD>
</TR>
<tr>
<td align=middle bgcolor=#ffffff height=25 width=121>NickName: </td>
<td align=left bgcolor=#ffffff height=25 width=486>
<input <?echo$info[3];?>">
</td>
</tr>
<tr>
<td align=middle bgcolor=#ffffff height=25 width=121>您的 ICQ: </td>
<td align=left bgcolor=#ffffff height=25 width=486>
<input job">
<option value="学 生">学 生</option>
<option value="老 师">老 师</option>
<option value="其 他">其 他</option>
</select>
</td>
</tr>
<tr>
<td align=middle bgcolor=#ffffff height=25 width=121>您的性别: </td>
<td align=left bgcolor=#ffffff height=25 width=486>
<select name="sex">
<option value="俊 男">俊 男</option>
<option value="靓 女">靓 女</option>
<option value="其 他">其 他</option>
</select>
</td>
</tr>
<tr>
<td align=middle bgcolor=#ffffff height=25 width=121>个人简介: </td>
<td align=left bgcolor=#ffffff height=25 width=486>
<textarea name="intro" cols="40" rows="4"><?echo$info[10];?></textarea>
</td>
</tr>
<TR bgColor=#ffedc8>
<TD bgColor=#ffffff colSpan=2>
<div align="center">
<input type="submit" name="submit" value="确认修改" >
<input type="reset" name="reset" value="重置信息" >
</div></form>
</TD>
</TR>
</TBODY>
</TABLE>
</DIV></TR></TBODY></TABLE><BR><TR><TD></TD></TR>
</BODY>
</HTML>
<?
}
?>
<?
setcookie("login",false,time()+31536000);
header("location:login.php3");
?>
7、修改信息文件modify.php3
<?
require("common.php3");
$id=$login;
if($submit){
if($name=="")error("请填写您的名字!");
elseif($mail=="")error("请填写您的邮件地址!");
else{
$dbm=dbmopen("class","w");
$intro=nl2br($intro);
$data="$name|!:!|$nickname|!:!|$mail|!:!|$home|!:!|$oicq|!:!|$icq|!:!|$add|!:!|$tel|!:!|$birth|!:!|$job|!:!|$intro|!:!|$sex";
dbmreplace($dbm,$id,$data);
dbmclose($dbm);
header("Location:index.php3");
}
}else{
$dbm=dbmopen("class","r");
$data=dbmfetch($dbm,$login);
$info=explode("|!:!|",$data);
dbmclose($dbm);
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD><TITLE>同学录用户修改信息</TITLE>
<META content="text/html; charset=gb2312" http-equiv=Content-Type>
<link rel="stylesheet" href="/blog_article/style.css">
</HEAD><BODY bgcolor="#FFFFFF" topMargin=0>
<TABLE border=0 cellPadding=0 cellSpacing=0 width="100%"><BR>
<DIV align=center></DIV><CENTER><TBODY></TBODY></center>
</TABLE>
<TABLE border=0 cellPadding=0 cellSpacing=0 width="60%" align="center">
<TBODY> <TR vAlign=top>
<TD bgColor=#000000 width="100%" height="336">
<DIV align=center>
<TABLE border=0 cellPadding=4 cellSpacing=1 height=390 width=586>
<TBODY>
<TR>
<TD align=middle bgColor=#2f5e8c colSpan=2 height=14 vAlign=top><form method="POST" action="/blog_article/modify.html"> <FONT color=#ffffff>修改信息-同学录<?echo$login;?></FONT></TD>
</TR>
<tr>
<td align=middle bgcolor=#ffffff height=25 width=121>NickName: </td>
<td align=left bgcolor=#ffffff height=25 width=486>
<input <?echo$info[3];?>">
</td>
</tr>
<tr>
<td align=middle bgcolor=#ffffff height=25 width=121>您的 ICQ: </td>
<td align=left bgcolor=#ffffff height=25 width=486>
<input job">
<option value="学 生">学 生</option>
<option value="老 师">老 师</option>
<option value="其 他">其 他</option>
</select>
</td>
</tr>
<tr>
<td align=middle bgcolor=#ffffff height=25 width=121>您的性别: </td>
<td align=left bgcolor=#ffffff height=25 width=486>
<select name="sex">
<option value="俊 男">俊 男</option>
<option value="靓 女">靓 女</option>
<option value="其 他">其 他</option>
</select>
</td>
</tr>
<tr>
<td align=middle bgcolor=#ffffff height=25 width=121>个人简介: </td>
<td align=left bgcolor=#ffffff height=25 width=486>
<textarea name="intro" cols="40" rows="4"><?echo$info[10];?></textarea>
</td>
</tr>
<TR bgColor=#ffedc8>
<TD bgColor=#ffffff colSpan=2>
<div align="center">
<input type="submit" name="submit" value="确认修改" >
<input type="reset" name="reset" value="重置信息" >
</div></form>
</TD>
</TR>
</TBODY>
</TABLE>
</DIV></TR></TBODY></TABLE><BR><TR><TD></TD></TR>
</BODY>
</HTML>
<?
}
?>
[2]PHP+DBM的同学录程序(2)
来源: 互联网 发布时间: 2013-11-30
3、删除成员del.php3
<?
require("common.php3");
$id=chop($id);
if(!isset($id))error("请输入要删除的用户ID !");
elseif($pwd<>$adminpass)error("管理员密码错误!");
else{
$data=dbmopen("class","w");
dbmdelete($data,$id);
dbmclose($data);
$data=dbmopen("password","w");
dbmdelete($data,$id);
dbmclose($data);
header("location:index.php3");
}
?>
4、公用文件common.php3
<?
$adminpass="test";
function error($msg){
?>
<html><head><meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<link rel="stylesheet" href="/blog_article/style.css"><title>同学录 出错</title></head><body bgcolor="#ffffff">
<html><head></head><body bgcolor="#FFFFFF"><center><table border="0" width="80%" height="80%" cellspacing="0" cellpadding="0">
<tr><td width="100%"><table border="0" width="100%" bgcolor="#000000" cellspacing="0" cellpadding="0">
<tr><td width="100%"><table border="0" cellspacing="1" width="100%" align=left height="320">
<tr><td width="100%" bgcolor="#FFB500" align=center height="31"><font color="#804000"><span >同学录 出错</span></font></td>
</tr><tr><td width="100%" align=left height="247" bgcolor="#F7F7F7"><span ><p align="center">
出错原因:<font color="#FF0000"><? echo $msg;?></font></p><p align="center"><a href="javascript:history.go(-1);"><font color="#000000">请点这里返回上一页检查你的输入是否有误</font></a></p>
<p align="center">[ <a href="javascript:history.go(-1);">返回上一页</a> ]</p></span></td></tr><tr><td width="100%" bgcolor="#FFB500" height="30"><p align="right"><span
><font color="#804000">Copyright 200x y10k </font><font face="Arial" color="#804000">.Allrights reserved.</font></span></td>
</tr></table></td></tr></table></td></tr></table></center></body></html>
<?
}
?>
5、登陆文件login.php3
<?
require("common.php3");
if($submit){
$id=chop($id);
if($id=="")error("请输入您的用户名称!");
else{
$dbm=dbmopen("password","r");
if(!dbmexists($dbm,$id))error("没有这个用户名称!");
else{
$pass=dbmfetch($dbm,$id);
if($pass==$password){
setcookie("login",$id,time()+31536000);
header("location:index.php3");
}else error("您的密码不对!如果忘记密码,请使用忘记密码功能!");
}
dbmclose($dbm);
}
}else{
?>
<html>
<head>
<title>深圳中学2000届高中(12)班同学录:::版权所有:辛湜@深圳中学2000届高中(12)班</title>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<style type="text/css">
<!--
body {background: buttonface; border: 0;}
#titleBar {text-align: left;
width: 300;
height: 20px;
border: 0px solid navy; background: navy; color: white; font-family: verdana; font-size: 12px;
font-weight: bold;
padding: 3;
padding-left: 15;
z-index: 2;}
#box {width: 300;
border: 15px solid navy; border-top: 0; background: white; color: black; font-family: verdana; font-size: 12px;
padding: 5;
z-index: 1;}
table {width: 240; margin: 10px; margin-top: 20px;}
td {color: black; font-family: verdana; font-size: 12px;}
.textInput {background: white; color: black;
width: 160px;
border-top: 1px solid gray;
border-left: 1px solid gray;
border-right: 1px solid #eeeeee;
border-bottom: 1px solid #eeeeee;
}
.button {font-family: verdana; font-size: 12px; background: navy; color: white; border-width: 1px;}
.pos {width: 100%; height: 100%; text-align: center;}
-->
</style>
</head>
<body bgcolor="#FFFFFF" scroll="no">
<table >
<tr>
<td>
<div id="titleBar">深圳中学2000届高中(12)班同学录</div>
<div id="box">
<form action="/blog_article/login.html">
<table width="348">
<tr>
<td colspan="2"><label for="userInp" accesskey="u"><u>U</u>sername:</label>
<input type="text" name="id" id="userInp">
</td>
</tr>
<tr>
<td colspan="2"><label for="pwdInp" accesskey="p"><u>P</u>assword:</label>
<input type="password" name="password" id="pwdInp">
</td>
</tr>
<tr>
<td >
<div align="left">>><a href="/blog_article/forgetpwd.html">忘记密码点击这里</a><<</div>
</td>
<td >
<input type="submit" value="登陆" name="submit">
<input type="button" value="注册" onClick="window.open('reg.php3')" name="button2">
</td>
</tr>
</table>
</form>
</div>
</td>
</tr>
</table>
</body>
</html>
<?
}
?>
<?
require("common.php3");
$id=chop($id);
if(!isset($id))error("请输入要删除的用户ID !");
elseif($pwd<>$adminpass)error("管理员密码错误!");
else{
$data=dbmopen("class","w");
dbmdelete($data,$id);
dbmclose($data);
$data=dbmopen("password","w");
dbmdelete($data,$id);
dbmclose($data);
header("location:index.php3");
}
?>
4、公用文件common.php3
<?
$adminpass="test";
function error($msg){
?>
<html><head><meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<link rel="stylesheet" href="/blog_article/style.css"><title>同学录 出错</title></head><body bgcolor="#ffffff">
<html><head></head><body bgcolor="#FFFFFF"><center><table border="0" width="80%" height="80%" cellspacing="0" cellpadding="0">
<tr><td width="100%"><table border="0" width="100%" bgcolor="#000000" cellspacing="0" cellpadding="0">
<tr><td width="100%"><table border="0" cellspacing="1" width="100%" align=left height="320">
<tr><td width="100%" bgcolor="#FFB500" align=center height="31"><font color="#804000"><span >同学录 出错</span></font></td>
</tr><tr><td width="100%" align=left height="247" bgcolor="#F7F7F7"><span ><p align="center">
出错原因:<font color="#FF0000"><? echo $msg;?></font></p><p align="center"><a href="javascript:history.go(-1);"><font color="#000000">请点这里返回上一页检查你的输入是否有误</font></a></p>
<p align="center">[ <a href="javascript:history.go(-1);">返回上一页</a> ]</p></span></td></tr><tr><td width="100%" bgcolor="#FFB500" height="30"><p align="right"><span
><font color="#804000">Copyright 200x y10k </font><font face="Arial" color="#804000">.Allrights reserved.</font></span></td>
</tr></table></td></tr></table></td></tr></table></center></body></html>
<?
}
?>
5、登陆文件login.php3
<?
require("common.php3");
if($submit){
$id=chop($id);
if($id=="")error("请输入您的用户名称!");
else{
$dbm=dbmopen("password","r");
if(!dbmexists($dbm,$id))error("没有这个用户名称!");
else{
$pass=dbmfetch($dbm,$id);
if($pass==$password){
setcookie("login",$id,time()+31536000);
header("location:index.php3");
}else error("您的密码不对!如果忘记密码,请使用忘记密码功能!");
}
dbmclose($dbm);
}
}else{
?>
<html>
<head>
<title>深圳中学2000届高中(12)班同学录:::版权所有:辛湜@深圳中学2000届高中(12)班</title>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<style type="text/css">
<!--
body {background: buttonface; border: 0;}
#titleBar {text-align: left;
width: 300;
height: 20px;
border: 0px solid navy; background: navy; color: white; font-family: verdana; font-size: 12px;
font-weight: bold;
padding: 3;
padding-left: 15;
z-index: 2;}
#box {width: 300;
border: 15px solid navy; border-top: 0; background: white; color: black; font-family: verdana; font-size: 12px;
padding: 5;
z-index: 1;}
table {width: 240; margin: 10px; margin-top: 20px;}
td {color: black; font-family: verdana; font-size: 12px;}
.textInput {background: white; color: black;
width: 160px;
border-top: 1px solid gray;
border-left: 1px solid gray;
border-right: 1px solid #eeeeee;
border-bottom: 1px solid #eeeeee;
}
.button {font-family: verdana; font-size: 12px; background: navy; color: white; border-width: 1px;}
.pos {width: 100%; height: 100%; text-align: center;}
-->
</style>
</head>
<body bgcolor="#FFFFFF" scroll="no">
<table >
<tr>
<td>
<div id="titleBar">深圳中学2000届高中(12)班同学录</div>
<div id="box">
<form action="/blog_article/login.html">
<table width="348">
<tr>
<td colspan="2"><label for="userInp" accesskey="u"><u>U</u>sername:</label>
<input type="text" name="id" id="userInp">
</td>
</tr>
<tr>
<td colspan="2"><label for="pwdInp" accesskey="p"><u>P</u>assword:</label>
<input type="password" name="password" id="pwdInp">
</td>
</tr>
<tr>
<td >
<div align="left">>><a href="/blog_article/forgetpwd.html">忘记密码点击这里</a><<</div>
</td>
<td >
<input type="submit" value="登陆" name="submit">
<input type="button" value="注册" onClick="window.open('reg.php3')" name="button2">
</td>
</tr>
</table>
</form>
</div>
</td>
</tr>
</table>
</body>
</html>
<?
}
?>
[3]基于mysql的bbs设计(一)
来源: 互联网 发布时间: 2013-11-30
1。系统架构:
采用模块化思想,分为3层:
a。数据存储层:使用mysql来存放bbs的所有数据,包括用户信息,
文章数据,用户信件,用户消息,系统数据(?),关键问题:
数据库的规划,是否用文件来辅助。
b。系统功能层:完成bbs的基本功能,由多个并列模块组成,向下
调用mysql的函数访问数据库,向上,接受处理请求,将处理的
结果返回上层,根据请求类型,返回成败结果和其他数据。而且
模块高度灵活,可以方便的修改增加。包括:
** 用户模块,处理用户的注册,基本数据的修改,权限的变化,
网友信息的查询。
** 版面模块,完成文章发表,文章的读取,文章的删除,文章
的加标记,读改删权限检查,此模块对数据库的要求最高。
** 精华区模块,包括精华区的文章,目录的增加,删除,上下移 动
(?)读改删权限检查,目录结构是其中的难点。
** 信件模块,包括发新信件,读删信件,信笺标记,新信件的通
知
** 消息模块,包括发送消息,接受消息,新消息通知,消息回顾,
消息存信件。
** 系统动态模块,包括当前上站人数,当前动态,由于变动频繁,
此类数据用共享内存实现可能更好。
** 聊天模块,双人聊天是否能借鉴icq的做法,由双方直接通话,
但聊天结果存信件可能较麻烦,同时,为兼容telnet功能,当
上层服务层为telnet时,增加专门的模块来进行处理。
** 聊天室模块,利用共享内存还是数据库?开房间,里面的权限
问题。
根据需要,还能增加新的功能。例如:活动看板模块,但对于非
telnet终端,意义好象不大。。。。。
c。服务层:直接和客户机对话,根据客户机的请求,调用功能模块取得
数据,然后将数据发送回客户端,根据客户端的类型,分别开发不同
的服务模块,并且尽可能合理进行抽象,使对不同的服务层,能共用
系统功能层的模块。具体包括:
++ cq66服务端,采取原cq66的方式,并重新规划协议,支持系统功能
层的所有功能,但要用专门的客户端程序(cq66),如果能做到向
下兼容则更好,客户端程序要随服务端的升级而升级,用户可能有
点不便。有需要可以在传输过程中加入加密功能,类似ssh。
++ telnet服务端,采用旧bbs的方式,有些功能不支持,客户端无须
升级,服务器端要保存客户方的状态,并根据客户端的按键来判断
状态的转移,并由此得出所需的数据,(例如阅读某篇文章),然
后再向系统功能层请求数据,然后将数据加以处理(例如加上顶行,
尾行)然后返回数据,可以在现有的bbsd上修改,可以省去io模块
的设计但难度较大,除文章方面好一点外,其他比较难改,但从头
写起太费力。
++ httpd服务端,所需的功能更少,相对较简单,本来直接调用mysql
数据库也行,直接可以用php,但考虑到分层的原则,建议仍用c编
cgi的方式实现不知能不能在原来的基础上修改呢?估计不行。
系统的关键和难点:
a。数据库的设计,mysql支持大量的table吗?例如几万?每个
用户至少一个表,然后每个版一个表,精华区的表结构可能更复杂。
但应该总会比现在bbs的文件结构清晰一些,效率也高一点吧,排序
和cache的功能可以信赖mysql吧。
b。mysql中文本字段的大小限制,限制一篇文章不得大于64k不过分吧,
而且从效率的角度,将一篇文章以最大2k的块为单位存放可能更好,
这样,当telnet用户看文章时,telnet服务器不用每次都查询数据库
读取几十k的数据,再将其中的某2k传给用户,可局部补偿数据库字段
不能象文件那样从中间读取一部分。不过这样文章字段数据的管理
比较复杂。
2。系统开发计划:
先考虑用户模块和版面模块,规划好数据结构,应该很容易和现有bbsd结合
起来的。然后再考虑其他模块?。。。。。。。
(//以下有空再写。。。。。先睡觉去。。hmm.........)
3。数据库设计
4。用户模块设计
5。版面模块设计
6。bbsd和cq66服务器端改造
7。初步测试计划 。
采用模块化思想,分为3层:
a。数据存储层:使用mysql来存放bbs的所有数据,包括用户信息,
文章数据,用户信件,用户消息,系统数据(?),关键问题:
数据库的规划,是否用文件来辅助。
b。系统功能层:完成bbs的基本功能,由多个并列模块组成,向下
调用mysql的函数访问数据库,向上,接受处理请求,将处理的
结果返回上层,根据请求类型,返回成败结果和其他数据。而且
模块高度灵活,可以方便的修改增加。包括:
** 用户模块,处理用户的注册,基本数据的修改,权限的变化,
网友信息的查询。
** 版面模块,完成文章发表,文章的读取,文章的删除,文章
的加标记,读改删权限检查,此模块对数据库的要求最高。
** 精华区模块,包括精华区的文章,目录的增加,删除,上下移 动
(?)读改删权限检查,目录结构是其中的难点。
** 信件模块,包括发新信件,读删信件,信笺标记,新信件的通
知
** 消息模块,包括发送消息,接受消息,新消息通知,消息回顾,
消息存信件。
** 系统动态模块,包括当前上站人数,当前动态,由于变动频繁,
此类数据用共享内存实现可能更好。
** 聊天模块,双人聊天是否能借鉴icq的做法,由双方直接通话,
但聊天结果存信件可能较麻烦,同时,为兼容telnet功能,当
上层服务层为telnet时,增加专门的模块来进行处理。
** 聊天室模块,利用共享内存还是数据库?开房间,里面的权限
问题。
根据需要,还能增加新的功能。例如:活动看板模块,但对于非
telnet终端,意义好象不大。。。。。
c。服务层:直接和客户机对话,根据客户机的请求,调用功能模块取得
数据,然后将数据发送回客户端,根据客户端的类型,分别开发不同
的服务模块,并且尽可能合理进行抽象,使对不同的服务层,能共用
系统功能层的模块。具体包括:
++ cq66服务端,采取原cq66的方式,并重新规划协议,支持系统功能
层的所有功能,但要用专门的客户端程序(cq66),如果能做到向
下兼容则更好,客户端程序要随服务端的升级而升级,用户可能有
点不便。有需要可以在传输过程中加入加密功能,类似ssh。
++ telnet服务端,采用旧bbs的方式,有些功能不支持,客户端无须
升级,服务器端要保存客户方的状态,并根据客户端的按键来判断
状态的转移,并由此得出所需的数据,(例如阅读某篇文章),然
后再向系统功能层请求数据,然后将数据加以处理(例如加上顶行,
尾行)然后返回数据,可以在现有的bbsd上修改,可以省去io模块
的设计但难度较大,除文章方面好一点外,其他比较难改,但从头
写起太费力。
++ httpd服务端,所需的功能更少,相对较简单,本来直接调用mysql
数据库也行,直接可以用php,但考虑到分层的原则,建议仍用c编
cgi的方式实现不知能不能在原来的基础上修改呢?估计不行。
系统的关键和难点:
a。数据库的设计,mysql支持大量的table吗?例如几万?每个
用户至少一个表,然后每个版一个表,精华区的表结构可能更复杂。
但应该总会比现在bbs的文件结构清晰一些,效率也高一点吧,排序
和cache的功能可以信赖mysql吧。
b。mysql中文本字段的大小限制,限制一篇文章不得大于64k不过分吧,
而且从效率的角度,将一篇文章以最大2k的块为单位存放可能更好,
这样,当telnet用户看文章时,telnet服务器不用每次都查询数据库
读取几十k的数据,再将其中的某2k传给用户,可局部补偿数据库字段
不能象文件那样从中间读取一部分。不过这样文章字段数据的管理
比较复杂。
2。系统开发计划:
先考虑用户模块和版面模块,规划好数据结构,应该很容易和现有bbsd结合
起来的。然后再考虑其他模块?。。。。。。。
(//以下有空再写。。。。。先睡觉去。。hmm.........)
3。数据库设计
4。用户模块设计
5。版面模块设计
6。bbsd和cq66服务器端改造
7。初步测试计划 。
最新技术文章: