PHP+DBM的同学录程序(1)

所属分类: 网络编程 / PHP编程 阅读数: 522
收藏 0 赞 0 分享
这个同学录原来给我们班级用的,因为服务器没有mysql支持,就选择了dbm
国内还没有什么dbm程序,国外也几乎没有
花了一个晚上,在几乎没有任何参考的情况下写了出来
现在公布出来
是一个非常好的dbm使用范例

1、index.php3
<?
if($login){
?>
<HTML>
<HEAD>
<TITLE>深圳中学2000届高中(12)班同学录</TITLE>

<style type="text/css">
A {text-decoration: none; color: #336699; font-family: "宋体"; font-size: 9pt}
A:hover {text-decoration: underline; color: #FF0000; font-family: "宋体"; font-size: 9pt}  
body {font-family: "宋体", "serif"; font-size: 9pt}
td {font-family: "宋体", "serif"; font-size: 9pt}
input {font-size: 9pt}
p {font-size: 9pt}
br {font-size: 9pt}
tr {font-size: 9pt}
table {font-size: 9pt}
INPUT {    FONT-FAMILY: arial,宋体; FONT-SIZE: 9pt; PADDING-TOP: 3px }
INPUT.text {
    BACKGROUND-COLOR: #f0f0f0; BORDER-BOTTOM: #101010 1px solid; BORDER-LEFT: #101010 1px solid; BORDER-RIGHT: #101010 1px solid; BORDER-TOP: #101010 1px solid; COLOR: #000000
}
INPUT.file {
    BACKGROUND-COLOR: #f0f0f0; BORDER-BOTTOM: #101010 1px solid; BORDER-LEFT: #101010 1px solid; BORDER-RIGHT: #101010 1px solid; BORDER-TOP: #101010 1px solid; COLOR: #000000
}
SELECT {
    BACKGROUND-COLOR: #f0f0f0; BORDER-BOTTOM: #101010 1px solid; BORDER-LEFT: #101010 1px solid; BORDER-RIGHT: #101010 1px solid; BORDER-TOP: #101010 1px solid; COLOR: #000000
}
TEXTAREA {
    BACKGROUND-COLOR: #f0f0f0; BORDER-BOTTOM: #101010 1px solid; BORDER-LEFT: #101010 1px solid; BORDER-RIGHT: #101010 1px solid; BORDER-TOP: #101010 1px solid; COLOR: #000000
}
.stedit { font-size: 9pt; border-left: 1px solid #4a3163;  
border-right: 1px solid #4a3163; border-top: 1px solid #4a3163;  
border-bottom: 1px solid #000066 }
.stbtm { background-color: #cococo; color: #000000; font-size: 9pt; height: 20px;  
border-left: 1px solid #ffffff; border-right: 1px solid #665b8e;  
border-top: 1px solid #ffffff; border-bottom: 1px solid #665b8e }
.ddd {COLOR: #ffffff; FILTER: glow(color=black,strength=1); FONT-SIZE: 9pt; LINE-HEIGHT: 13pt; POSITION: relative; WIDTH: 100%}
</style>

</HEAD>
<body bgcolor="#FFFFFF">
<p class=pt10 align=center><b>深圳中学2000届高中(12)班同学录</b><br>
<table border="0" width="80%" cellpadding="2" cellspacing="1" bgcolor="#000000" align="center">
  <tr align=center>  
    <td width=19% bgcolor="#336699"><font color="#FFFFFF">姓名</FONT></td>
    <td width=17% bgcolor="#336699"><font color="#FFFFFF">NickName</font></td>
    <td width=18% bgcolor="#336699"><font color="#FFFFFF">OICQ</FONT></td>
    <td width=27% bgcolor="#336699"><font color="#FFFFFF">邮件地址</font></td>
    <td width=19% bgcolor="#336699"><font color="#FFFFFF">详细信息</font></td>
  </tr>
<?
$dbm=dbmopen("class","r");
$key = dbmfirstkey($dbm);
while ($key) {
    $data=dbmfetch($dbm, $key);
    $info=explode("|!:!|",$data);
    echo "<tr BGCOLOR=\"#FFF5E1\" align=\"center\"><td width=19%><a href=show.php3?id=$key>$info[0]</a></td><td width=17%>$info[1]</td><td width=18%>$info[4]</td><td width=27%>$info[2]</td><td width=19%><a href=\"show.php3?id=$key\">点击查看</a></td></tr>";
    $key = dbmnextkey($dbm, $key);
}
?>
  <tr BGCOLOR="#336699" align="center">  
    <td colspan="5"><font color=#FFFFFF><a href="modify.php3"><font color=#FFFFFF>修改资料</font></a>||<a href="changepwd.php3"><font color=#FFFFFF>修改密码</font></a>||<a href="logout.php3"><font color=#FFFFFF>点击退出</font></a></font></td>
  </tr>
</table>
<p align="center"> Ex同学录v1.0版本程序制作:<a href="mailto:y10k@963.net">y10k</a><br>
  欢迎访问:<a href="http://www.best4cn.com" target="_blank">http://www.best4cn.com</a> </p>
</body></html>
<?
}else header("location:login.php3");
?>

2、更改密码的changepwd.php3
<?
require("common.php3");
if($submit){
$id=$login;
if($id==false)error("请登陆后再修改密码");
else{
  $data=dbmopen("password","w");
  $pass=dbmfetch($data,$login);
  if($password==$pass){
    if($password2==$password1){
      dbmreplace($data,$id,$password2);
      header("location:index.php3");
    }else error("您两次输入的密码不一样啊!");
  }else error("对不起,您输入的原来的密码错误,不能修改密码!");
}
}else{
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD>
<META content="text/html; charset=gb2312" http-equiv=Content-Type><LINK  
href="style.css" rel=stylesheet>
<META content="MSHTML 5.00.2614.3500" name=GENERATOR></HEAD>
<BODY bgColor=#ffffff>
<FORM action=changepwd.php3 method=post>
<CENTER>
    <TABLE bgColor=#000000 border=0 cellSpacing=1>
      <TBODY>  
      <TR align=middle>  
        <TD align=middle bgColor=#336699 colSpan=4><FONT  
      color=#ffffff>用户修改密码</FONT></TD>
      </TR>
      <TR align=middle>  
        <TD align=middle bgColor=#f7f7f7 width="122">  
          <P align=center>老的密码</P>
        </TD>
        <TD align=middle bgColor=#f7f7f7 colspan="3" width="205">&nbsp;&nbsp;&nbsp;  
          <INPUT  
      class=stedit name=password>
        </TD>
      </TR>
      <tr align=middle>  
        <td align=middle bgcolor=#f7f7f7 width="122">  
          <p align=center>新的密码</p>
        </td>
        <td align=middle bgcolor=#f7f7f7 colspan="3" width="205">&nbsp;&nbsp;&nbsp;  
          <input  
      class=stedit name=password1>
        </td>
      </tr>
      <tr align=middle>  
        <td align=middle bgcolor=#f7f7f7 width="122">  
          <p align=center>重复密码</p>
        </td>
        <td align=middle bgcolor=#f7f7f7 colspan="3" width="205">&nbsp;&nbsp;&nbsp;  
          <input  
      class=stedit name=password2>
        </td>
      </tr>
      <TR align=middle>  
        <TD align=middle bgColor=#f7f7f7 colSpan=4>  
          <DIV align=center>  
            <P>  
              <INPUT class=stbtm name=submit type=submit value=确认修改>
              &nbsp;&nbsp;&nbsp;  
              <INPUT class=stbtm type=reset value=重新修改 name="reset">
            </P>
          </DIV>
        </TD>
      </TR>
      </TBODY>  
    </TABLE>
  </CENTER></FORM></BODY></HTML>
<?
}
?>
更多精彩内容其他人还在看

TP5(thinkPHP5)框架基于ajax与后台数据交互操作简单示例

这篇文章主要介绍了TP5(thinkPHP5)框架基于ajax与后台数据交互操作,结合实例形式分析了thinkPHP5前端基于jQuery的ajax数据提交及后台数据接收、处理相关操作技巧,需要的朋友可以参考下
收藏 0 赞 0 分享

PHP利用Mysql锁解决高并发的方法

这篇文章主要介绍了PHP利用Mysql锁解决高并发的方法,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
收藏 0 赞 0 分享

php 后端实现JWT认证方法示例

这篇文章主要介绍了php 后端实现JWT认证方法示例,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
收藏 0 赞 0 分享

ThinkPHP框架实现定时执行任务的两种方法分析

这篇文章主要介绍了ThinkPHP框架实现定时执行任务的两种方法,结合实例形式分析了2种被动执行定时任务的相关操作技巧与注意事项,需要的朋友可以参考下
收藏 0 赞 0 分享

PHP命名空间与自动加载类详解

这篇文章主要介绍了PHP命名空间与自动加载类,结合实例形式详细分析了php自动加载类与命名空间原理、使用方法及相关操作注意事项,需要的朋友可以参考下
收藏 0 赞 0 分享

PHP时间处理类操作示例

这篇文章主要介绍了PHP时间处理类,结合实例形式分析了DateTime、DateTimeZone、DateInterval及DatePeriod等常用日期时间处理类简单操作技巧,需要的朋友可以参考下
收藏 0 赞 0 分享

利用PHP扩展Xhprof分析项目性能实践教程

XHProf是Facebook开发的性能调试工具,能帮助直观的统计显示PHP程序执行中各方法函数调用次数和消耗时间,以方便我们排查性能瓶颈并进行调优。下面这篇文章主要给大家介绍了关于利用PHP扩展Xhprof分析项目性能实践的相关资料,需要的朋友可以参考下
收藏 0 赞 0 分享

Django 标签筛选的实现代码(一对多、多对多)

这篇文章主要介绍了Django 标签筛选的实现代码(一对多、多对多),本文给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
收藏 0 赞 0 分享

PHP使用pdo实现事务处理操作示例

这篇文章主要介绍了PHP使用pdo实现事务处理操作,结合实例形式较为详细的分析了php基于pdo实现事务处理的相关原理与操作技巧,需要的朋友可以参考下
收藏 0 赞 0 分享

thinkPHP框架实现类似java过滤器的简单方法示例

这篇文章主要介绍了thinkPHP框架实现类似java过滤器的简单方法,结合实例形式分析了thinkPHP基于继承实现的登录验证功能相关操作方法,需要的朋友可以参考下
收藏 0 赞 0 分享
查看更多