基于文本的留言簿


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 相关文章推荐
PHP5.0正式发布 不完全兼容PHP4 新增多项功能
Oct 09 PHP
PHP中动态显示签名和ip原理
Mar 28 PHP
关于访问控制的一首PHP面试题(对属性或方法的访问控制)
Sep 13 PHP
yii操作session实例简介
Jul 31 PHP
PHP+MYSQL实现用户的增删改查
Mar 24 PHP
php轻松实现文件上传功能
Mar 03 PHP
Symfony核心类概述
Mar 17 PHP
php通过smtp邮件验证登陆的方法
May 11 PHP
PHP实现将多个文件中的内容合并为新文件的方法示例
Jun 10 PHP
PHP基于socket实现的简单客户端和服务端通讯功能示例
Jul 10 PHP
TP5框架使用QueryList采集框架爬小说操作示例
Mar 26 PHP
PHP 面向对象程序设计之类属性与类常量实现方法分析
Apr 13 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
php一句话cmdshell新型 (非一句话木马)
2009/04/18 PHP
使用PHP实现Mysql读写分离
2013/06/28 PHP
php输出1000以内质数(素数)示例
2014/02/16 PHP
PHP网页游戏学习之Xnova(ogame)源码解读(十四)
2014/06/26 PHP
Zend Framework教程之路由功能Zend_Controller_Router详解
2016/03/07 PHP
CI框架实现cookie登陆的方法详解
2016/05/18 PHP
javascript题目,重写函数让其无限相加
2012/02/15 Javascript
js hover 定时器(实例代码)
2013/11/12 Javascript
对之前写的jquery分页做下升级
2014/06/19 Javascript
JavaScript动态创建link标签到head里的方法
2014/12/22 Javascript
canvas 画布在主流浏览器中的尺寸限制详细介绍
2016/12/15 Javascript
JavaScript实现格式化字符串函数String.format
2016/12/16 Javascript
解决VUEX兼容IE上的报错问题
2018/03/01 Javascript
通过webpack引入第三方库的方法
2018/07/20 Javascript
Vue全局分页组件的实现代码
2018/08/10 Javascript
js实现开关灯效果
2020/03/30 Javascript
如何基于filter实现网站整体变灰功能
2020/04/17 Javascript
google广告之另类js调用实现代码
2020/08/22 Javascript
vue 授权获取微信openId操作
2020/11/13 Javascript
python各种语言间时间的转化实现代码
2016/03/23 Python
Python多进程同步简单实现代码
2016/04/27 Python
python中正则表达式 re.findall 用法
2018/10/23 Python
PyTorch搭建一维线性回归模型(二)
2019/05/22 Python
Python的Tkinter点击按钮触发事件的例子
2019/07/19 Python
Django中的cookie和session
2019/08/27 Python
tensorboard显示空白的解决
2020/02/15 Python
Django跨域资源共享问题(推荐)
2020/03/09 Python
设置jupyter中DataFrame的显示限制方式
2020/04/12 Python
Python 字节流,字符串,十六进制相互转换实例(binascii,bytes)
2020/05/11 Python
浅析python实现动态规划背包问题
2020/12/31 Python
阿迪达斯奥地利官方商城:adidas.at
2016/10/16 全球购物
Auchan Direct波兰:欧尚在线杂货店
2016/10/19 全球购物
美国创意之家:BulbHead
2017/07/12 全球购物
党员批评与自我批评
2014/02/12 职场文书
大学理论知识学习自我鉴定
2014/04/28 职场文书
TypeScript实用技巧 Nominal Typing名义类型详解
2022/09/23 Javascript