基于文本的留言簿


Posted in PHP onOctober 09, 2006

固然基数据库的留言簿可以作得很漂亮,而且也更好管理。 但是对于那些没有数据库空间的朋友们来说,基于文本的留言簿也完成可以适用于个人站来使用。而且只要我们努力去做同样可以做得很好,甚至可以说丝毫不比基于数据库的留言簿差。在这里我向介绍一个基于文本的留言簿。在下面这个地址你可以看到它的演示: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">       
          你的大名:<input type="text" name="name" size="44"><br>       
          你的邮件地址:<input type="text" name="email" size="40"><br>       
          你的个人主页:<input type="text" name="webname" size="40"><br>       
          你的个人主页地址:<input type="text" name="webadd" size="35"><br>       
          你的留言:<br>       
                          
    <textarea rows="2" name="note" cols="50"></textarea>        
      请选择你喜欢的图标:        
       <input type="radio" value="1" checked name="icon">  <img border="0" src="n1.gif" width="19" height="18">         
    <input type="radio" name="icon" value="2">  <img border="0" src="n2.gif" width="16" height="16">      
    <input type="radio" name="icon" value="3">  <img border="0" src="n3.gif" width="16" height="16">     
    <input type="radio" name="icon" value="4">  <img border="0" src="n4.gif" width="19" height="18">       
    <input type="radio" name="icon" value="5">  <img border="0" src="n5.gif" width="19" height="18">       
    <input type="radio" name="icon" value="6">   <img border="0" src="n6.gif" width="19" height="18">      
    <input type="radio" name="icon" value="7">   <img border="0" src="n7.gif" width="15" height="15">       
    <input type="radio" name="icon" value="8">   <img border="0" src="n8.gif" width="19" height="18">        
       <input type="radio" name="icon" value="9">  <img border="0" src="n9.gif" width="19" height="18">         
    <input type="radio" name="icon" value="10">  <img border="0" src="n10.gif" width="18" height="18">     
    <input type="radio" name="icon" value="11">  <img border="0" src="n11.gif" width="18" height="18">     
    <input type="radio" name="icon" value="12">  <img border="0" src="n12.gif" width="18" height="18">       
    <input type="radio" name="icon" value="13">  <img border="0" src="n13.gif" width="15" height="15">        
    <input type="radio" name="icon" value="14">   <img border="0" src="n14.gif" width="18" height="18">      
    <input type="radio" name="icon" value="15">    <img border="0" src="n15.gif" width="15" height="15">               
    </div>     
  <div align="left">      
            
    <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>    个人主页: $add$webname</a>      ($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";
              }
}
?>

PHP 相关文章推荐
php面向对象全攻略 (十二) 抽象方法和抽象类
Sep 30 PHP
php学习之function的用法
Jul 14 PHP
PHP函数addslashes和mysql_real_escape_string的区别
Apr 22 PHP
php中HTTP_REFERER函数用法实例
Nov 21 PHP
php读取csv数据保存到数组的方法
Jan 03 PHP
PHP连接SQLServer2005的方法
Jan 27 PHP
PHP超全局数组(Superglobals)介绍
Jul 01 PHP
PHP实现C#山寨ArrayList的方法
Jul 16 PHP
PHP使用HTML5 FormData对象提交表单操作示例
Jul 02 PHP
PHP中通过getopt解析GNU C风格命令行选项
Nov 18 PHP
php实现统计IP数及在线人数的示例代码
Jul 22 PHP
详解使用php-cs-fixer格式化代码
Sep 16 PHP
图书管理程序(一)
Oct 09 #PHP
图书管理程序(二)
Oct 09 #PHP
改进的IP计数器
Oct 09 #PHP
聊天室php&amp;mysql(五)
Oct 09 #PHP
聊天室php&amp;mysql(四)
Oct 09 #PHP
一个简单的PHP入门源程序
Oct 09 #PHP
PHP学习之PHP表达式
Oct 09 #PHP
You might like
Phpbean路由转发的php代码
2008/01/10 PHP
数组与类使用PHP的可变变量名需要的注意的问题
2013/06/20 PHP
Laravel学习笔记之Artisan命令生成自定义模板的方法
2018/11/22 PHP
PHP var关键字相关原理及使用实例解析
2020/07/11 PHP
javascript function调用时的参数检测常用办法
2010/02/26 Javascript
每天一篇javascript学习小结(Boolean对象)
2015/11/12 Javascript
JavaScript判断图片是否已经加载完毕的方法汇总
2016/02/05 Javascript
Vue.js路由vue-router使用方法详解
2017/03/20 Javascript
详解前端路由实现与react-router使用姿势
2017/08/07 Javascript
自定义类似于jQuery UI Selectable 的Vue指令v-selectable
2017/08/23 jQuery
动态统计当前输入内容的字节、字符数的实例详解
2017/10/27 Javascript
基于JavaScript实现报警器提示音效果
2017/10/27 Javascript
AngularJS对动态增加的DOM实现ng-keyup事件示例
2018/03/12 Javascript
JavaScript设计模式之职责链模式应用示例
2018/08/07 Javascript
详解vue引入子组件方法
2019/02/12 Javascript
微信小程序和H5页面间相互跳转代码实例
2019/09/19 Javascript
ES2020 已定稿,真实场景案例分析
2020/05/25 Javascript
vue实现简单的登录弹出框
2020/10/26 Javascript
Python函数嵌套实例
2014/09/23 Python
浅谈Python程序与C++程序的联合使用
2015/04/07 Python
Python实现的排列组合计算操作示例
2017/10/13 Python
Python中scatter函数参数及用法详解
2017/11/08 Python
Go/Python/Erlang编程语言对比分析及示例代码
2018/04/23 Python
python docx 中文字体设置的操作方法
2018/05/08 Python
利用python将图片版PDF转文字版PDF
2019/05/03 Python
在pandas中遍历DataFrame行的实现方法
2019/10/23 Python
python实现opencv+scoket网络实时图传
2020/03/20 Python
使用Filters滤镜弥补CSS3的跨浏览器问题以及兼容低版本IE
2013/01/23 HTML / CSS
英国豪华文具和皮具配件经典老品牌:Smythson(斯迈森)
2018/04/19 全球购物
巴西手表购物网站:eclock
2019/03/19 全球购物
The Hut英国:英国领先的豪华在线百货商店
2019/07/26 全球购物
2014年职称评定工作总结
2014/11/26 职场文书
公司总经理岗位职责
2015/04/01 职场文书
Python中zipfile压缩包模块的使用
2021/05/14 Python
Pytorch使用shuffle打乱数据的操作
2021/05/20 Python
分布式锁为什么要选择Zookeeper而不是Redis?看完这篇你就明白了
2021/05/21 Redis