PHP+TEXT留言本(一)

  大家知道,数据库对于网络来说的重要性.由于cgi的复杂,现在asp和php+mysql已经成为主流.几乎所有的个人网页都要用到留言本,可是申请的留言本很不稳定.这为网上的交流带来了诸多不便.所以,希望拥有自己的留言本的朋友越来越多.
  但是,免费的个人主页支持asp和php的很少.笔者现在向您推荐动站指南,(http://www.knowsky.com)支持php.这样您便有了能够拥有自己留言本的基础.现在,我就通过一个文本留言本的例子来讲述php的简单使用.
   首先,我们先确定,留言的几个过程:写留言,发送,查看.(搜索)等等.而且对于斑竹来说,管理留言本又是不可或缺的.这样我们就不妨定位于6个php文件,1个文本文件.6个php文件分别为:guest.php manage.php reply.php sys.php del.php edit.php,1个文本文件为:guest.txt
  先来看看guest.php的内容,你当然可以直接将下面的内容放到您的php网页里,请尊重作者的劳动,谢谢.
  ----------------------
  //guest.php:<?
  require("sys.php");
  if ($B1)
  {
   if ($message=="" or $name=="")
   {
   $errorm="<font color=red>出错了!!!</font>姓名和留言内容必填";
   }
   else
  {
  #写入数据
  $space = "&nbsp;";
  $time = date(Y年m月d日H小时i分);
  $ip=$REMOTE_ADDR;
  $name=encode($name);
  $homepage=encode($homepage);
  $from=encode($from);
  $email=encode($email);
  $message=StripSlashes($message);
  $message=htmlspecialchars($message);
  $message=check_strlen_long($message);
  $message=nl2br($message);
  $guestcontent = "<tr><td><font color=#AB00E1>留言内容:</font><br><!--content>$message<!--endcontent> ";
  $guestcontent=$guestcontent."<br><font color=#6633FF>留言人大名:</font><!--name>$name<!--endname> ";
  if ($email !="")
  {$guestcontent=$guestcontent."<br><font color=#9900CC>电子信箱</font><a href=\"email]$email"."$space'mailto:$email\"><!--email>$email<!--endemail></a>"."$space";}
  if ($homepage !="http://")
  {$guestcontent=$guestcontent."<font color=#9900CC>主页:</font>$hompage<a href=\"$homepage\"><!--homepage>$homepage<!--endhomepage></a>";}
  $guestcontent=$guestcontent."<br><font color=#0000FF>时间:$time 来自:<!--from>$from<!--endfrom> $ip</font>";
  $guestcontent=ereg_replace(chr(10),"",$guestcontent);
  $guestcontent=$guestcontent."<hr size=1></td></tr>\n";
  $fp=fopen($guestfile,"a");
  fputs($fp,$guestcontent);
  fclose($fp);
  }
  }
  ?>
  <html>
  <head>
  <title>zihanonlinegbook</title>
  <style>
  <!--
  A:link {text-decoration: none ; color:0000ff}
  A:visited {text-decoration: none; color:004080}
  A:active {text-decoration: none}
  A:hover {text-decoration: underline; color:ff0000}
  BODY {FONT-SIZE:10pt}
  TH {FONT-SIZE:10 pt}
  TD {FONT-SIZE: 10pt}
  TEXTAREA
  {
  FONT-FAMILY: "宋体";
  FONT-SIZE: 10pt;
  }
  -->
  </style>
  <body bgcolor=#FFFFFD background="bg.jpg">
  <div align="center">&nbsp;
   <? include('head.htm');?>
   <table width="68%" border="1" cellpadding="3" cellspacing="0" bordercolor="#E3E3E3">
   <form method="POST" action="guest.php">
   <?
   if ($errorm)
   {
   echo "<tr>";
   echo "<td colspan=3 height=32> ";
   echo "$errorm";
   echo "</td>";
   echo "</tr>";
   }
   ?>
   <tr>
   <td width="22%" bgcolor="#F0F0F0"><font color="#000000">姓名<font color="#FF0033">(必填)</font></font></td>
   <td colspan="2" width="78%" bgcolor="#F0F0F0"><font color="#00FF00">
   <input type="text" name="name" size="40">
   </font></td>
   </tr>
   <tr>
   <td width="22%" height="29">主页:</td>
   <td colspan="2" height="29" width="78%">
   <input type="text" name="homepage" size="40" value="http://">
   </td>
   </tr>
   <tr>
   <td width="22%" height="27" bgcolor="#F0F0F0">来自:</td>
   <td colspan="2" height="27" width="78%" bgcolor="#F0F0F0">
   <input type="text" name="from" size="40">
   </td>
   </tr>
   <tr>
   <td width="22%" height="20">Email:</td>
   <td colspan="2" height="20" width="78%"><font color="#00FF00">
   <input type="text" name="email" size="40">
   </font></td>
   </tr>
   <tr>
   <td colspan="3" valign="middle" align="left">
   <div align="center"><font color="#000000">请留言</font><font color="#FF0033">(必填)</font><font color="#00FF00"><br>
   <textarea rows="6" name="message" cols="55" wrap="VIRTUAL"></textarea>
   </font></div>
   </td>
   </tr>
   <tr bgcolor="#F0F0F0">
   <td colspan="3" height="24">
   <div align="center"><font color="#00FF00">
   <input type="submit" value="发 送" name="B1">
   &nbsp;&nbsp;&nbsp;
   <input type="reset" value="重 写" name="B2">
   </font></div>
   </td>
   </tr>
   </form>
   </table>
   <table width="68%" border="1" cellpadding="4" cellspacing="0" bordercolor="#E3E3E3">
   <tr>
   <td>
   <table width="100%" border="0" cellpadding="0" cellspacing="0">
   <form action=manage.php method=post>
   <tr>
   <td colspan="2">
   <input type=hidden name=dispflag value=show>
   管理密码:
   <input type=password name=password size=8>
   &nbsp;
   <input type=submit value="确 定" name="submit">
   </td>
   </tr>
   </form>
   </table>
   </td>
   <td>
   <table width="100%" border="0" cellpadding="0" cellspacing="0">
   <form action=guest.php method=post>
   <tr>
   <td> 请输入关键字:
   <input type="text" name="keyword" size="10">
   <input type="submit" name="search" value="搜索留言">
   </td>
   </tr>
   </form>
   </table>
   </td>
   </tr>
   </table>
   <?
   function search($keyword)
   {
   global $content;
   $count=count($content);
   $subscript=0;
   $ArrSearch=array();
   for ($i=0;$i<$count;$i++)
   {
   if (ereg($keyword,$content[$i]))
   {
   $ArrSearch[$subscript]=ereg_replace($keyword,"<font color=red>$keyword</font>",$content[$i]);
   $subscript++;
   }
   }
   return $ArrSearch;
   }//end function
   $one_page_line=15;
   $content = file($guestfile);
   if (isset($search) and isset($keyword) and $keyword!="")
   {
   $content=search($keyword);
   }
   $count =count($content);
   ?>
   <table width="68%" border="0">
   <tr>
   <td>
  
   <?
   $int_page_count=$count;//总条数;
   $int_page_num=ceil($int_page_count/$one_page_line);//总页数;
   echo "<font color=#CC33FF>分页:";
   for ($i=1;$i<=$int_page_num;$i++)
   {
   echo "<a href=guest.php?page=$i>".$i."</a>&nbsp;";
   }
   echo "</font>";
   if (isset($search) and isset($keyword) and $keyword!="")
   {
   echo "<br><center>";
   echo "下面的留言中包含关键字<font color=red>$keyword</font>共<font color=red>".$count."</font>条</center>";
   }
   ?>
   </td><td><p align=right>共有<font color=red><?echo "$count"?></font>条</p></td>
   </tr>
   </table>
  </div>
   <br>
  <table width="68%" border="0" align="center">
  <?
   if ($page=="" or !isset($page))
   {$page=1;}
   $text="";
   $begin_line=$int_page_count-($page-1)*$one_page_line;
   if ($begin_line<$one_page_line){$one_page_line=$begin_line;}
   for ($j=$begin_line;$j>($begin_line-$one_page_line);$j--)
   {
   $text=$text."<tr><td align=right colspan=2><a href=reply.php?job=reply&record=".$j.">回复</a>&nbsp;<a href=edit.php?record=".$j.">编辑</a>&nbsp;<a href=dele.php?record=".$j.">删除</a>&nbsp;第<font color=red>$j</font>条</td></tr>";
   $text.=$content[$j-1];
  
   //数组找下标从0开始.
   }
  
  echo "$text";
  ?>
  </table>
  <?
  include('bottom.htm');
  ?>
  </body>
  </html>
  ------------------
  未完待续...