当前位置:  编程技术>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>
<?
}
?> 

    
[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>
<?
}
?> 

    
[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。初步测试计划 。

    
最新技术文章:
▪PHP函数microtime()时间戳的定义与用法
▪PHP单一入口之apache配置内容
▪PHP数组排序方法总结(收藏)
▪php数组排序方法大全(脚本学堂整理奉献)
▪php数组排序的几个函数(附实例)
▪php二维数组排序(实例)
▪php根据键值对二维数组排序的小例子
▪php验证码(附截图)
▪php数组长度的获取方法(三个实例)
▪php获取数组长度的方法举例
▪判断php数组维度(php数组长度)的方法
▪php获取图片的exif信息的示例代码
▪PHP 数组key长度对性能的影响实例分析
▪php函数指定默认值的方法示例
▪php提交表单到当前页面、提交表单后页面重定...
▪php四舍五入的三种实现方法
▪php获得数组长度(元素个数)的方法
▪php日期函数的简单示例代码
▪php数学函数的简单示例代码
▪php字符串函数的简单示例代码
▪php文件下载代码(多浏览器兼容、支持中文文...
▪php实现文件下载、支持中文文件名的示例代码...
▪php文件下载(防止中文文件名乱码)的示例代码
▪解决PHP文件下载时中文文件名乱码的问题
▪php数组去重(一维、二维数组去重)的简单示例
▪php小数点后取两位的三种实现方法
▪php Redis 队列服务的简单示例
▪PHP导出excel时数字变为科学计数的解决方法
▪PHP数组根据值获取Key的简单示例
▪php数组去重的函数代码示例
 


站内导航:


特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

©2012-2021,,E-mail:www_#163.com(请将#改为@)

浙ICP备11055608号-3