基于文本的留言簿

所属分类: 网络编程 / PHP编程 阅读数: 509
收藏 0 赞 0 分享
固然基数据库的留言簿可以作得很漂亮,而且也更好管理。 但是对于那些没有数据库空间的朋友们来说,基于文本的留言簿也完成可以适用于个人站来使用。而且只要我们努力去做同样可以做得很好,甚至可以说丝毫不比基于数据库的留言簿差。在这里我向介绍一个基于文本的留言簿。在下面这个地址你可以看到它的演示:http://bamboo.oso.com.cn/note.htm,它具有以下两个特点:
1.    用不同的颜我显示不同人发表的留言;
2.    每个留言者具有选择小图标的功能。
本留言簿要由以下四个文件组成:记录留言内容的note.txt文件;记录留言文字显示颜色的color.txt文件;这两个文件都可以有notepad来创建。反应留言表单的note.htm文件;最终处理留言信息的note.php文件。以下是它们的源代码:
note.htm:
<html>
<head>
<title>===留言簿===</title>
</head>
<body>
  <form method="POST" action="note.php">       
    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 你的大名:<input type="text" name="name" size="44"><br>       
    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 你的邮件地址:<input type="text" name="email" size="40"><br>       
    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 你的个人主页:<input type="text" name="webname" size="40"><br>       
    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 你的个人主页地址:<input type="text" name="webadd" size="35"><br>       
    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 你的留言:<br>       
    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;        
    <textarea rows="2" name="note" cols="50"></textarea>        
    &nbsp;&nbsp;请选择你喜欢的图标:        
    &nbsp;&nbsp; <input type="radio" value="1" checked name="icon">&nbsp; <img border="0" src="n1.gif" width="19" height="18">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;    
    <input type="radio" name="icon" value="2">&nbsp; <img border="0" src="n2.gif" width="16" height="16">&nbsp;&nbsp;    
    <input type="radio" name="icon" value="3">&nbsp; <img border="0" src="n3.gif" width="16" height="16">&nbsp;    
    <input type="radio" name="icon" value="4">&nbsp; <img border="0" src="n4.gif" width="19" height="18">&nbsp;&nbsp;&nbsp;    
    <input type="radio" name="icon" value="5">&nbsp; <img border="0" src="n5.gif" width="19" height="18">&nbsp;&nbsp;&nbsp;    
    <input type="radio" name="icon" value="6">&nbsp;&nbsp; <img border="0" src="n6.gif" width="19" height="18">&nbsp;&nbsp;    
    <input type="radio" name="icon" value="7">&nbsp;&nbsp; <img border="0" src="n7.gif" width="15" height="15">&nbsp;&nbsp;&nbsp;    
    <input type="radio" name="icon" value="8">&nbsp;&nbsp; <img border="0" src="n8.gif" width="19" height="18">&nbsp;&nbsp;      
    &nbsp;&nbsp; <input type="radio" name="icon" value="9">&nbsp; <img border="0" src="n9.gif" width="19" height="18">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;    
    <input type="radio" name="icon" value="10">&nbsp; <img border="0" src="n10.gif" width="18" height="18">&nbsp;    
    <input type="radio" name="icon" value="11">&nbsp; <img border="0" src="n11.gif" width="18" height="18">&nbsp;    
    <input type="radio" name="icon" value="12">&nbsp; <img border="0" src="n12.gif" width="18" height="18">&nbsp;&nbsp;&nbsp;    
    <input type="radio" name="icon" value="13">&nbsp; <img border="0" src="n13.gif" width="15" height="15">&nbsp;&nbsp;&nbsp;&nbsp;    
    <input type="radio" name="icon" value="14">&nbsp;&nbsp;&nbsp;<img border="0" src="n14.gif" width="18" height="18">&nbsp;&nbsp;    
    <input type="radio" name="icon" value="15">&nbsp;&nbsp;&nbsp; <img border="0" src="n15.gif" width="15" height="15">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;      
    </div>     
  <div align="left">      
    &nbsp;       
    <input type="submit" value="发送" name="B1"><input type="reset" value="重写" name="B2">       
    <a href="note.php?primsg=1">查看留言</a><br>      
    </div>     
  </form>      
  </body>                   
</html>                   
其中:nx.gif是小图标图片,你自己可以更换。
Note.php:
<?
    if($primsg==1){
       $f = fopen("note.txt","r");
       $msg = fread($f,filesize("note.txt"));
       fclose($f);
       print "$msg";  }
    else{
          if ($name=="") {
            print "你总得给我留下的你的大名吧!否则我如何称呼你?<br>";}
            else if  ($note=="") {
            print "你总得说点什么吧?否则点发送干什么?不会是点错了吧?想查看留言??<br>";
              }
          else{
             if  ($email=="") {
            print "连电子邮件地址也不给留?我如何跟你联系?<br>";
                }
             else if  ($webname==""||$webadd="") {
             print "你没有个人主页?如果有还是希望你给我留下的地址,当作是宣传也可以嘛!<br>";
                }
              $t = date(Y年m月d日);
              $note = str_replace ( "<",  "<", $note);
              $note = str_replace ( ">",  ">", $note);
              $note = str_replace ( "\n",  "<br>", $note);
              $f = fopen("color.txt","r+");
              $color1=fread($f,filesize("color.txt"));
              if($color1==0){
                $color=ff0000;}
              else if($color1==1){
                $color="0000ff";}
              else if($color1==2){
                $color="00ff00";
              }
              else if($color1==3){
                $color="000000";
              }
              if($color1>=3){
                 $color1=0;}
              else{
                 $color1+=1;
              }
              fseek($f,0);
              fputs($f,$color1);
              fclose($f);
              for($I=1;$I<=15;$I++){
                 if($I==$icon){
                   $pic=$I;
                   }
                 }
              $str=strval($pic);
              $strhtml="<img src='n".$str.".gif'>";
              $add="<a href=".$webadd."></a>";
              $main = "$strhtml<br><font color=$color><a href=\"mailto:$email\">$name</a>&nbsp&nbsp&nbsp&nbsp个人主页:&nbsp$add$webname</a>&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp($t)<br>
              说:$note <br>";
              $f = fopen("note.txt","a");
              fwrite($f,$main);
              fclose($f);
               $f = fopen("note.txt","r");
              $msg = fread($f,filesize("note.txt"));
              fclose($f);
               echo"$msg";
              }
}
?>
更多精彩内容其他人还在看

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 分享
查看更多