基于文本的访客签到簿


Posted in PHP onOctober 09, 2006

一个很偶然的机会,在网上看到了有人用PHP+MYSQL作了一个访客签到簿, 当时觉得很有用处所以自己也很 想搞一个。但是用MYSQL觉得有点在材小用,所以就搞了一个基于文本的访客签到簿。其功能与我在网上看 到的用MYSQL作的差不多,在这里我将其源码公布,希望它对放大网友学习PHP有所帮助。限于本人的水平, 其中定有BUG,还希望朋友发现了不要忘告诉我一下。本签到簿由要两个文件组成:一个是存放签到信息的sign.txt文件, 该文件可以由NOTEPAD来创建;第二个 是处理信息的sign.php文件。在斑竹园的主页<http://bamboo.oso.com.cn>有它的演示,欢迎去看看。下面
就是sign.php的源代码:
sign.php
if(isset($name)&&isset($msg)){
   $name=ltrim($name);
   $t=date(y年m月d日);
   $dat="[".$t."]";
   $msg=ltrim($msg);
   $name=trim($name);
   $msg=trim($msg);
   $pristr=$name."  ".$dat." ".$msg."\n";
   $f=fopen("sign.txt","a");
   fwrite($f,$pristr);
   fclose($f);
   }
   $file=file("sign.txt");
    if(!isset($pagenum)){
      $pagenum=1;
    }
    $lesssign=0;
    $num=count($file);
    $dispnumed=6*($pagenum-1);
    $dispnumbeg=$num-$dispnumed;
    $artnumeof1=6*$pagenum;
    $isdispnum=$num-$artnumeof1;
     if($isdispnum<=0){
      $dispnumeof=1;
      $lesssign=1;
    }
    else{
      $dispnumeof=$isdispnum+1;
    }
    $sign=0;
    $pagec=0;
     for($icount=0;($icount<$num)&&($sign==0);$icount+=6){
      for($i=0;$i<=6;$i++){
       if(($icount*6+$i)==$num){
           $sign=1;
         }
       }
       $pagec++;
     }
    $pagecount=$pagec;
    echo"<table width=100% cellspacing=3>";
    $fuhao="◇  ";
    $color=e9eae9;
    $iscolor=0;
    $lessnum=5;
    echo"<tr><td bgcolor=00ff00 align=center>";
    echo"斑竹园签到簿";
    echo"</td></tr>";
    for($i=$dispnumbeg;$i>=$dispnumeof;$i--){
       $linknum=$num-$i;
       $lessnum--;
       $stringmsg1=$file[($i-1)];
       $stringmsg2=strrev($stringmsg1);
       $stringmsg3=strstr($stringmsg2,"psbn");
       $stringmsg=strrev($stringmsg3);
       $stringlink=strstr($file[($i-1)],"http");
       $dispvar=$fuhao.$stringmsg;
       echo"<tr><td bgcolor=$color>";
       echo$dispvar;
       echo "<img src=gif/home3.gif>";
       echo"<a href=$stringlink>";
       echo$stringlink;
       echo"</a>";
       echo"</td></tr>";
       if($iscolor==0){
         $color=ffffff;
         $iscolor=1;
       }
       else{
         $color=e9eae9;
         $iscolor=0;
       }
    }
    if($lesssign==1){
         for($iless=$lessnum;$iless>0;$iless--){
       echo"<tr bgcolor=$color><td>";
       echo $fuhao."<br>\n";
       echo"</td></tr>";
          if($iscolor==0){
         $color=ffffff;
         $iscolor=1;
       }
       else{
         $color=e9eae9;
         $iscolor=0;
       }
       }
    }
    echo"<tr>";
    echo"<form action=index.php method=post>";
    echo"<td>";
    echo"称呼:";
    echo"<input name=name size=10 maxlength=20>";
    echo"地址:";
    echo"<input name=msg size=20 maxlength=60 value=http://>";
    echo"<input type=submit name=submit value=签到>";
    echo"</td>";
    echo"</form>";
    echo"</tr>";

    echo"</table>";
   ?> 

PHP 相关文章推荐
AJAX for PHP简单表数据查询实例
Jan 02 PHP
php判断终端是手机还是电脑访问网站的思路及代码
Apr 24 PHP
关于PHP模板Smarty的初级使用方法以及心得分享
Jun 21 PHP
PHP中time(),date(),mktime()区别介绍
Sep 28 PHP
set_exception_handler函数在ThinkPHP中的用法
Oct 31 PHP
PHP字符串word末字符实现大小写互换的方法
Nov 10 PHP
PHP中创建和验证哈希的简单方法实探
Jul 06 PHP
详解Grunt插件之LiveReload实现页面自动刷新(两种方案)
Jul 31 PHP
php语言的7种基本的排序方法
Dec 28 PHP
PHP入门教程之数组用法汇总(创建,删除,遍历,排序等)
Sep 11 PHP
Linux下快速搭建php开发环境
Mar 13 PHP
CakePHP框架Model函数定义方法示例
Aug 04 PHP
基于文本的搜索
Oct 09 #PHP
实现分十页分向前十页向后十页的处理
Oct 09 #PHP
实现“上一页”和“下一页按钮
Oct 09 #PHP
一个程序下载的管理程序(四)
Oct 09 #PHP
PHP下MAIL的另一解决方案
Oct 09 #PHP
一个程序下载的管理程序(二)
Oct 09 #PHP
在php中取得image按钮传递的name值
Oct 09 #PHP
You might like
PHP中实现接收多个name相同但Value不相同表单数据实例
2015/02/03 PHP
PHP获取文件夹大小函数用法实例
2015/07/01 PHP
PHP中用Trait封装单例模式的实现
2019/12/18 PHP
javascript当onmousedown、onmouseup、onclick同时应用于同一个标签节点Element
2010/01/05 Javascript
jQuery新窗口打开外链接
2016/07/21 Javascript
BootStrap Fileinput初始化时的一些参数
2016/12/30 Javascript
JQuery Dialog对话框 不能通过Esc关闭的原因分析及解决办法
2017/01/18 Javascript
js数字计算 误差问题的快速解决方法
2017/02/28 Javascript
移动端刮刮乐的实现方式(js+HTML5)
2017/03/23 Javascript
React Native中导航组件react-navigation跨tab路由处理详解
2017/10/31 Javascript
vue使用技巧及vue项目中遇到的问题
2018/06/04 Javascript
vuex actions异步修改状态的实例详解
2019/11/06 Javascript
jQuery 淡入/淡出效果函数用法分析
2020/05/19 jQuery
[01:03:33]Alliance vs TNC 2019国际邀请赛小组赛 BO2 第一场 8.16
2019/08/18 DOTA
python获取Linux下文件版本信息、公司名和产品名的方法
2014/10/05 Python
Python中的字典遍历备忘
2015/01/17 Python
Python 实现简单的电话本功能
2015/08/09 Python
Python实现基本数据结构中队列的操作方法示例
2017/12/04 Python
Python生成任意范围任意精度的随机数方法
2018/04/09 Python
pygame游戏之旅 添加碰撞效果的方法
2018/11/20 Python
解决Python 使用h5py加载文件,看不到keys()的问题
2019/02/08 Python
python操作小程序云数据库实现简单的增删改查功能
2019/06/06 Python
python的几种矩阵相乘的公式详解
2019/07/10 Python
pandas通过字典生成dataframe的方法步骤
2019/07/23 Python
Python调用graphviz绘制结构化图形网络示例
2019/11/22 Python
localStorage 设置过期时间的方法实现
2018/12/21 HTML / CSS
UGG英国官方网站:UGG UK
2018/02/08 全球购物
单位门卫岗位职责
2013/12/20 职场文书
幼儿园托班开学寄语
2014/01/18 职场文书
企业管理培训感言
2014/01/27 职场文书
工作自我评价怎么写
2014/01/29 职场文书
写得不错的求职信范文
2014/07/11 职场文书
教师党的群众路线学习心得体会
2014/11/04 职场文书
教师学期末个人总结
2015/02/13 职场文书
JavaWeb 入门篇:创建Web项目,Idea配置tomcat
2021/07/16 Java/Android
PostgreSQL解析URL的方法
2021/08/02 PostgreSQL