一个没有MYSQL数据库支持的简易留言本的编写

发表于:2007-06-21来源:作者:点击数: 标签:
由于国内 MySQL 资源比较紧张,国外的不是太慢,就是不对我国用户开放。 因此,在没有MYSQL的日子里,我们想做一些方便他人和完善自己站点的事情,那简直比登天还难,为了摆脱这种痛苦,niky哭思冥想,闭门造车,终于,皇天不负有心人,一个不需要MYSQL 数据

   由于国内MySQL资源比较紧张,国外的不是太慢,就是不对我国用户开放。

因此,在没有MYSQL的日子里,我们想做一些方便他人和完善自己站点的事情,那简直比登天还难,为了摆脱这种痛苦,niky哭思冥想,闭门造车,终于,皇天不负有心人,一个不需要MYSQL数据库支持的简易留言本就这样出台了,我们暂且叫它gbook.php吧,源程序如下:

<?
if ($message)
    {
    $message = ereg_replace( "rnrn",  "n<P>", $message);
//去除无效的控制符号
    $date = date( "l, F j Y, h:i a"); //获取指定的日期时间格式
    $ip=getenv("REMOTE_ADDR");
    $message =  "<table border="0" cellspacing="0" width="640" cellpadding="0">
  <tr>
    <td width="25%"><B>$name </B></td>
    <td width="25%">$email</td>
    <td width="25%">写于--$date</td>
    <td width="25%">来自>>$ip</td>
  </tr>
  <tr>
    <td width="100%" colspan="4">$subject</td>
  </tr>
  <tr>
    <td width="100%" colspan="4">$massage</td>
  </tr>
</table><hr>       

";
    $fp = fopen (basename($PHP_SELF) .  ".comment",  "a");
    fwrite ($fp, $message);
    fclose ($fp);
    }
@readfile(basename(($PHP_SELF .  ".comment")));
//读出记录文件内容
?>
<form method="POST"  >
  <p>姓名:<input type="text" name="name" size="20"> E-mail:<input type="text" name="email" size="24"><hr>       
  主题:<input type="text" name="subject" size="55">
  <p>      
您想说的话:<br><TEXTAREA name="message" rows=10 cols=60 wrap=virtual>
</TEXTAREA><BR><br>     
<INPUT name="submit" type="submit" value="发表!">&nbsp;&nbsp;&nbsp;&nbsp; <input type="reset" value="重写?" name="B2">      
  </p>  
</form>      
──────────────────────────────────────
   上面的程序,其原理是:在PHP端首先判断message变量是否存在,如果不存在,则读文件。读文件使用了readfile函数。至于文件名的提取,这里使用了一个巧妙的方式(使用$PHP_SELF变量提取文件所在的绝对位置,然后用basename()函数提取文件名,再加上指定的文件尾comment.)来完成的。为了能更好的学习PHP&MySQL,特拿来和大家共享,也希望曾经和niky一样痛苦过的网路人能有一个属于自己的留言本,而不是"xxx留言本由xxx.com提供."而大煞风景。还等什么,赶快行动吧!
                    版权所有,请勿随便转载!
        Copyright &copy;2000   niky   All rights reserved.  

原文转自:http://www.ltesting.net