一个php作的文本留言本的例子(五)

  现在我们来讲一下reply.php的代码:

  ---------------------------------

  //reply.php

  <?

  function check_strlen_long($txt)

  {

  $len=strlen($txt);

  $count=0;

  for ($i=0;$i<$len;$i++)

  {

  if (ord($txt[$i])<128)

  { $count=$count+1;}

  if (ord($txt[$i])==10 or ord($txt[$i])==32)

  {$count=0;}

  if ($count>=60)

  {

  $txt[$i]="n";

  $count=0;

  }

  }

  return $txt;

  }

  function encode ($txt)

  {

  $txt=strip_tags($txt);

  $txt=htmlspecialchars($txt);

  $message=StripSlashes($txt);

  return $message;

  }

  $content=file("guest.txt");

  $disptext=$content[$record-1];

  if ($job=="addreply" and $replyname!="" and $replycontent!="")

  {

  $content=file("guest.txt");

  $count=count($content);

  $time = date(Y年m月d日H小时i分);

  $ip=$REMOTE_ADDR;

  $replycontent=StripSlashes($replycontent);

  $replyname=encode($replyname);

  $replycontent=htmlspecialchars($replycontent);

  $replycontent=check_strlen_long($replycontent);

  $replycontent=nl2br($replycontent);

  $replycontent=ereg_replace(chr(10),"",$replycontent);

  $content[$record-1]=substr($content[$record-1],0,strlen($content[$i])-1); $content[$record-1]=$content[$record-1]."<!--reply><tr><td colspan=4><ul><font color=#AB00E1>回复内容:</font><br>".$replycontent."<br>回复人大名:".$replyname."<br><font color=#CC33FF>时间:$time 来自:$ip</font></ul><hr size=1 color=blue></td></tr>n";

  $fp=fopen("guest.txt","w");

  for ($i=0;$i<$count;$i++)

  {

  fputs($fp,$content[$i],strlen($content[$i]));

  }

  echo "<meta http-equiv=Refresh content=1;url=guest.php>";

  exit;

  }

  ?>

  <title>zihanonline</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: 10p}

  TH {FONT-SIZE: 10pt}

  TD {FONT-SIZE: 10pt}

  -->

  </style>

  <body bgcolor="#FFFFFF" background="back.gif">

  <div align=center >

  <? include('head.htm');?>

  <table border= 1  width= 65%  height= 169 cellpadding="8" cellspacing="0" bordercolor="#E3E3E3" >

  <form method= POST  action=reply.php >

  <?

  if ($Submit)

  {

  if ($replyname=="" or $replycontent=="")

  {

  echo"<tr align=left valign=middle bgcolor=#F0F0F0> ";

  echo"<td width= 100%  height= 31 > ";

  echo "<font color=red>出错了</font>回复人姓名和回复内容必填!";

  echo"</td>";

  echo"</tr>";

  }

  }

  ?>

  <? echo $disptext ?>

  <tr align="left" valign="middle" bgcolor="#F0F0F0">

  <td width= 100%  height= 31 bgcolor="#FFFFFF" > 回复大名

  <input type= text  name= replyname  size= 20 >

  </td>

  </tr>

  <tr valign="middle">

  <td width= 100%  height= 26  align= left bgcolor="#f0f0f0" >

  <p>回复内容</p>

  </td>

  </tr>

  <tr align="center">

  <td width= 100%  height= 52  valign= top bgcolor="#FFFFFF" >

  <textarea rows= 6  name= replycontent  cols= 46 wrap="VIRTUAL" ></textarea>

  </td>

  </tr>

  <tr valign="middle" align="center" bgcolor="#F0F0F0">

  <td width= 100%  height= 14 bgcolor="#f0f0f0" >

  <input type=hidden name=job value=addreply>

  <input type=hidden name=record value=<? echo $record ?>>

  <input type= submit  value= 提交  name=Submit >

  <input type=reset value= 重写  name= B2 >

  </td>

  </tr>

  </form>

  </table>

  <?include('bottom.htm');?>

  </div>

  </body>

  </html>

  ------------------

  到此为止,php的代码我们已经写完,剩下的是您要作一个留言本的本头和底部

  您可以设计任何的样式.不过记得在本头上面要有至少3个连接:查看 返回主页

  发邮件.这样您的留言本系统才算完整.不过由于这是一文本的留言本,所以您不用担心数据库的问题,您只要再写一个guest.txt的文件就完整了.虽然这个留言本没有mysql等等,可是功能仍然不错.而且是完全属于您自己的留言本.好了,下一节我们将为您讲述guest.txt的建立和上传留言本的几个重要步骤.

  未完待续...