一个可分页的基于文本的PHP留言板源码

  小弟初学PHP,编了一个留言板程序,自我感觉良好,故厚着脸皮放了上来,请各位大哥指正。源程序如下:

  <?php

  //文件名:guest.php

  //设定部分

  $guestfile="guest";//纪录留言的文本文件

  $home="index.html";//返回的主页

  $imagedir="image"; //图像文件的目录

  $backimage=$imagedir."/bk.gif";//背景图像

  $backcolor="#ceffff";//背景颜色,在$backimage=""时起作用

  ?>

  <html>

  <head>

  <?php

  if($QUERY_STRING!="") {

  $page = $QUERY_STRING;

  } else {

  $page = 1;

  }

  if($mode=="add"){

  $name=htmlspecialchars(trim($name));

  $title=htmlspecialchars(trim($title));

  $data=nl2br(htmlspecialchars($data));

  $data=str_replace("r","",$data);

  $data=str_replace("x0A","",$data);

  $data=str_replace(" "," ",$data);

  if($data=="") $data=" ";

  $e_mail=trim($e_mail);

  if($e_mail=="") $e_mail=0;

  $url=trim($url);

  if($url=="http://" || $url=="") $url=0;

  $time=date("Y")."年".date("m")."月".date("d")."日[".date("H").":".date("i").":".date("s")."]";

  if($name=="" || $title==""){

  echo "<script Language="JavaScript">n";

  echo "  alert("请至少输入姓名与留言标题。");n";

  echo "history.back();";

  echo "</script></head></html>n";

  exit;

  }

  $adddata=$name."t".$e_mail."t".$url."t".$title."t".$data."t".$icon."t".$time."n";

  if(file_exists($guestfile)){

  $filebuffer=file($guestfile);

  if(sizeof($filebuffer)>100){

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

  $newbuffer[i]=$filebuffer[i];

  }

  else{

  $newbuffer=$filebuffer;

  }

  $fp=fopen($guestfile,"w");

  fputs($fp,$adddata);

  fclose($fp);

  $buffer=implode("",$newbuffer);

  $fp=fopen($guestfile,"a");

  fputs($fp,$buffer);

  fclose($fp);

  }

  else{

  $fp=fopen($guestfile,"w");

  fwrite($fp,$adddata);

  fclose($fp);

  }

  }

  ?>

  <meta HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=gb2312">

  <title>留言板</title>

  <style>

  a{text-decoration:none; font-size:9pt; color:blue}

  a:visited {text-decoration:none; color:009999}

  a:hover {color:red; text-decoration:underline}

  td{font-size:9pt;line-height:14pt}

  P{font-size:9pt}

  </style>

  </head>

  <?php

  if($backimage!="" && file_exists($backimage)){

  echo "<body background="".$backimage."" bgproperties="fixed">n";

  }

  else{

  echo "<body bgcolor="".$backcolor."">n";

  }

  ?>

  <table width="100%" border="0" cellspacing="0" cellpadding="0">

  <tr bgcolor="#9999FF">

  <td height="28">

  <div align="center"><b>供电9901网上空间留言板</b></div>

  </td>

  </tr>

  <tr><td><div align="right"><a href="<? echo $home; ?>">[返回首页]</a></div></td></tr>

  </table>

  <font size="2">

  <form method="post" action="guest.php">

  <input type="hidden" name="mode" value="add">

  <p>姓名:

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

  <br>

  E_Mail:

  <input type="text" name="e_mail" size="20">

  <br>

  主页:

  <input type="text" name="url" value="http://" size="30">

  <br>

  留言标题:

  <input type="text" name="title" size="50">

  <br>

  留言内容:(不支持HTML)<br>

  <textarea name="data" rows="5" cols="60"></textarea>

  <div id="Layer1" style="position:absolute; left:460px; top:152px; width:301px; height:104px; z-index:1">

  <p>表情:</p>

  <p>

  <input type="radio" name="icon" value="1">

  <img src="<? echo $imagedir."/1.gif"; ?>" width="15" height="15">

  <input type="radio" name="icon" value="2">

  <img src="<? echo $imagedir."/2.gif"; ?>" width="15" height="15">

  <input type="radio" name="icon" value="3">

  <img src="<? echo $imagedir."/3.gif"; ?>" width="15" height="15">

  <input type="radio" name="icon" value="4" checked>

  <img src="<? echo $imagedir."/4.gif"; ?>" width="15" height="15">

  <input type="radio" name="icon" value="5">

  <img src="<? echo $imagedir."/5.gif"; ?>" width="15" height="15">

  <input type="radio" name="icon" value="6">

  <img src="<? echo $imagedir."/6.gif"; ?>" width="15" height="15"><br>

  <input type="radio" name="icon" value="7">

  <img src="<? echo $imagedir."/7.gif"; ?>" width="15" height="15">

  <input type="radio" name="icon" value="8">

  <img src="<? echo $imagedir."/8.gif"; ?>" width="15" height="15">

  <input type="radio" name="icon" value="9">

  <img src="<? echo $imagedir."/9.gif"; ?>" width="15" height="15">

  <input type="radio" name="icon" value="10">

  <img src="<? echo $imagedir."/10.gif"; ?>" width="15" height="15">

  <input type="radio" name="icon" value="11">

  <img src="<? echo $imagedir."/11.gif"; ?>" width="15" height="15">

  <input type="radio" name="icon" value="12">

  <img src="<? echo $imagedir."/12.gif"; ?>" width="15" height="15"><br>

  <input type="radio" name="icon" value="13">

  <img src="<? echo $imagedir."/13.gif"; ?>" width="15" height="15">

  <input type="radio" name="icon" value="14">

  <img src="<? echo $imagedir."/14.gif"; ?>" width="15" height="15">

  <input type="radio" name="icon" value="15">

  <img src="<? echo $imagedir."/15.gif"; ?>" width="15" height="15">

  <input type="radio" name="icon" value="16">

  <img src="<? echo $imagedir."/16.gif"; ?>" width="15" height="15"> </p>

  </div>

  </p>

  <p align="center">

  <input type="submit" name="b1" value="写入">

  <input type="reset" name="b2" value="重写">

  </p>

  </form>

  <hr>

  <?php

  if(!file_exists($guestfile)){

  echo "<p align="center">没有留言</p>";

  }

  else{

  $filebuffer=file($guestfile);

  $size=sizeof($filebuffer);

  $pages=ceil($size/20);

  echo "<p align="center">共".$size."条留言    第".$page."页/共".$pages."页<br>";

  if($page>1){

  $prev=$page-1;

  echo "<a href="guest.php?".$prev.""><<</a> ";

  }

  for($i=1;$i<=$pages;$i++){

  echo " <a href="guest.php?".$i."">".$i."</a> ";

  }

  if($page<$pages){

  $next=$page+1;

  echo "<a href="guest.php?".$next.""> >></a>";

  }

  echo "</p></font><table width="650" border="0" cellspacing="0" cellpadding="0">";

  for($i=($page-1)*20; $i<$page*20 && $i<$size; $i++){

  $buffer=explode("t",$filebuffer[$i]);

  echo "<tr><td valign="top" width="25"><img src="".$imagedir."/".$buffer[5].".gif"></td>";

  echo "<td valign="top" width="250"><p align="left">".$buffer[3]."</p></td>";

  echo "<td valign="top" width="80"><p align="left"><B>(".$buffer[0].")</B></p></td>";

  echo "<td valign="top" width="35"><p align="center">";

  if($buffer[2]!="0"){

  echo "<a href="".$buffer[2]."">主页</a>";

  }

  else{

  echo "主页";

  }

  echo "</p></td>";

  echo "<td valign="top" width="35"><p align="center">";

  if($buffer[1]!="0"){

  echo "<a href="mailto:".$buffer[1]."">E_Mail</a>";

  }

  else{

  echo "E_Mail";

  }

  echo "</p></td>";

  echo "<td valign="top" width="175"><p align="left">".$buffer[6]."</p></td>";

  echo "</tr><tr><td> </td>";

  echo "<td colspan="5" width="575">".$buffer[4]."</td></tr><tr><td> </td></tr>";

  }

  }

  ?>

  </table><hr><table width="100%" border="0" cellspacing="0" cellpadding="0"><tr><td>

  <div align="center">本网站由<a href="mailto:[email protected]">疯狂电脑工作室</a>制作   2000</div></td></tr></table>

  </body></html>

  大家可到gd9901.oso.com.cn看看效果,有什么问题请E_Mail至[email protected]