一个php作的文本留言本的例子(一)


Posted in PHP onOctober 09, 2006

大家知道,数据库对于网络来说的重要性.由于cgi的复杂,现在asp和php+mysql已经成为主流.几乎所有的个人网页都要用到留言本,可是申请的留言本很不稳定.这为网上的交流带来了诸多不便.所以,希望拥有自己的留言本的朋友越来越多.
但是,免费的个人主页支持asp和php的很少.笔者现在向您推荐奥索网,(http://www.oso.com.cn)支持php.这样您便有了能够拥有自己留言本的基础.现在,我就通过一个文本留言本的例子来讲述php的简单使用.
首先,我们先确定,留言的几个过程:写留言,发送,查看.(搜索)等等.而且对于斑竹来说,管理留言本又是不可或缺的.这样我们就不妨定位于6个php文件,1个文本文件.6个php文件分别为:guest.php manage.php reply.php sys.php del.php edit.php,1个文本文件为:guest.txt
先来看看guest.php的内容,你当然可以直接将下面的内容放到您的php网页里,请尊重作者的劳动,谢谢.
----------------------
//guest.php:<?

require("sys.php");
if ($B1)
{
  if   ($message=="" or $name=="")
  {
  $errorm="<font color=red>出错了!!!</font>姓名和留言内容必填";
  }
  else
{
#写入数据
$space = " ";
$time = date(Y年m月d日H小时i分);
$ip=$REMOTE_ADDR;
$name=encode($name);
$homepage=encode($homepage);
$from=encode($from);
$email=encode($email);
$message=StripSlashes($message);
$message=htmlspecialchars($message);
$message=check_strlen_long($message);
$message=nl2br($message);
$guestcontent = "<tr><td><font color=#AB00E1>留言内容:</font><br><!--content>$message<!--endcontent> ";
$guestcontent=$guestcontent."<br><font color=#6633FF>留言人大名:</font><!--name>$name<!--endname> ";
if ($email !="")
{$guestcontent=$guestcontent."<br><font color=#9900CC>电子信箱</font><a href=\"mailto:$email\"><!--email>$email<!--endemail></a>"."$space";}
if ($homepage !="http://")
{$guestcontent=$guestcontent."<font color=#9900CC>主页:</font>$hompage<a href=\"$homepage\"><!--homepage>$homepage<!--endhomepage></a>";}
$guestcontent=$guestcontent."<br><font color=#0000FF>时间:$time 来自:<!--from>$from<!--endfrom> $ip</font>";
$guestcontent=ereg_replace(chr(10),"",$guestcontent);
$guestcontent=$guestcontent."<hr size=1></td></tr>\n";
$fp=fopen($guestfile,"a");
fputs($fp,$guestcontent);
fclose($fp);
}
}

?>

<html>
<head>
<title>zihanonlinegbook</title>
<style>
<!--
A:link {text-decoration: none ; color:0000ff}
A:visited {text-decoration: none; color:004080}
A:active {text-decoration: none}
A:hover {text-decoration: underline; color:ff0000}
BODY {FONT-SIZE:10pt}
TH {FONT-SIZE:10 pt}
TD {FONT-SIZE: 10pt}
TEXTAREA
{
FONT-FAMILY: "宋体";
FONT-SIZE: 10pt;
}

-->
</style>
<body bgcolor=#FFFFFD background="bg.jpg">
<div align="center">   
  <? include('head.htm');?>
  <table width="68%" border="1" cellpadding="3" cellspacing="0" bordercolor="#E3E3E3">
    <form method="POST" action="guest.php">
      <?
      if ($errorm)
      {
      echo "<tr>";
      echo "<td colspan=3 height=32> ";
      echo "$errorm";
      echo "</td>";
      echo "</tr>";
      }
      ?>  
      <tr>  
        <td width="22%" bgcolor="#F0F0F0"><font color="#000000">姓名<font color="#FF0033">(必填)</font></font></td>
        <td colspan="2" width="78%" bgcolor="#F0F0F0"><font color="#00FF00">  
          <input type="text" name="name" size="40">
          </font></td>
      </tr>
      <tr>  
        <td width="22%" height="29">主页:</td>
        <td colspan="2" height="29" width="78%">  
          <input type="text" name="homepage" size="40" value="http://">
        </td>
      </tr>
      <tr>  
        <td width="22%" height="27" bgcolor="#F0F0F0">来自:</td>
        <td colspan="2" height="27" width="78%" bgcolor="#F0F0F0">  
          <input type="text" name="from" size="40">
        </td>
      </tr>
      <tr>  
        <td width="22%" height="20">Email:</td>
        <td colspan="2" height="20" width="78%"><font color="#00FF00">  
          <input type="text" name="email" size="40">
          </font></td>
      </tr>
      <tr>  
        <td colspan="3" valign="middle" align="left">  
          <div align="center"><font color="#000000">请留言</font><font color="#FF0033">(必填)</font><font color="#00FF00"><br>
            <textarea rows="6" name="message" cols="55" wrap="VIRTUAL"></textarea>
            </font></div>
        </td>
      </tr>
      <tr bgcolor="#F0F0F0">  
        <td colspan="3" height="24">  
          <div align="center"><font color="#00FF00">  
            <input type="submit" value="发  送" name="B1">
                 
            <input type="reset" value="重 写" name="B2">
            </font></div>
        </td>
      </tr>
    </form>
  </table>
  <table width="68%" border="1" cellpadding="4" cellspacing="0" bordercolor="#E3E3E3">
    <tr>  
      <td>
        <table width="100%" border="0" cellpadding="0" cellspacing="0">
         <form action=manage.php method=post>
          <tr>  
            <td colspan="2">  
              <input type=hidden name=dispflag value=show>
              管理密码:  
              <input  type=password name=password size=8>
                 
              <input type=submit value="确  定" name="submit">
            </td>
          </tr>
          </form>
        </table>
      </td>
      <td>
        <table width="100%" border="0" cellpadding="0" cellspacing="0">
          <form action=guest.php method=post>
          <tr>  
            <td> 请输入关键字:  
              <input type="text" name="keyword" size="10">
              <input type="submit" name="search" value="搜索留言">
            </td>
          </tr>
          </form>
        </table>
      </td>
    </tr>
  </table>
  <?
  function search($keyword)
  {
  global $content;
  $count=count($content);
  $subscript=0;
  $ArrSearch=array();
  for ($i=0;$i<$count;$i++)
   {
   if (ereg($keyword,$content[$i]))  
     {
     $ArrSearch[$subscript]=ereg_replace($keyword,"<font color=red>$keyword</font>",$content[$i]);
     $subscript++;
     }
   }
  return $ArrSearch;
  }//end function
  $one_page_line=15;
  $content = file($guestfile);
  if (isset($search) and isset($keyword) and $keyword!="")
  {
  $content=search($keyword);
  }
  $count =count($content);
  ?>
  <table width="68%" border="0">
    <tr>
      <td>

      <?
      $int_page_count=$count;//总条数;
      $int_page_num=ceil($int_page_count/$one_page_line);//总页数;
      echo "<font color=#CC33FF>分页:";
      for ($i=1;$i<=$int_page_num;$i++)
      {
      echo "<a href=guest.php?page=$i>".$i."</a> ";
      }
     echo "</font>";
     if (isset($search) and isset($keyword) and $keyword!="")
     {
      echo "<br><center>";
      echo "下面的留言中包含关键字<font color=red>$keyword</font>共<font color=red>".$count."</font>条</center>";
     }
      ?>
      </td><td><p align=right>共有<font color=red><?echo "$count"?></font>条</p></td>
    </tr>
  </table>
</div>
  <br>
<table width="68%" border="0" align="center">
<?
      if ($page=="" or !isset($page))
      {$page=1;}
      $text="";
      $begin_line=$int_page_count-($page-1)*$one_page_line;
      if ($begin_line<$one_page_line){$one_page_line=$begin_line;}
      for ($j=$begin_line;$j>($begin_line-$one_page_line);$j--)
      {
          $text=$text."<tr><td align=right colspan=2><a href=reply.php?job=reply&record=".$j.">回复</a> <a href=edit.php?record=".$j.">编辑</a> <a href=dele.php?record=".$j.">删除</a> 第<font color=red>$j</font>条</td></tr>";
          $text.=$content[$j-1];

          //数组找下标从0开始.
         }

echo "$text";
?>
</table>
<?
include('bottom.htm');
?>
</body>  
</html>
------------------
未完待续...

PHP 相关文章推荐
ftp类(myftp.php)
Oct 09 PHP
如何分别全角和半角以避免乱码
Oct 09 PHP
Php Cookie的一个使用注意点
Nov 08 PHP
Windows下安装Memcached的步骤说明
Apr 25 PHP
PHP 防恶意刷新实现代码
May 16 PHP
php flv视频时间获取函数
Jun 29 PHP
ThinkPHP后台首页index使用frameset时的注意事项分析
Aug 22 PHP
PHP框架Laravel学习心得体会
Oct 28 PHP
php 修改上传文件大小限制实例详解
Oct 23 PHP
php中static 静态变量和普通变量的区别
Dec 01 PHP
php实现的mysqldb读写分离操作类示例
Feb 07 PHP
PHP基于面向对象实现的留言本功能实例
Apr 04 PHP
PHP的类 功能齐全的发送邮件类
Oct 09 #PHP
以文本方式上传二进制文件的PHP程序
Oct 09 #PHP
用户的详细注册和判断
Oct 09 #PHP
PHP编程与应用
Oct 09 #PHP
谈谈PHP语法(2)
Oct 09 #PHP
无数据库的详细域名查询程序PHP版(1)
Oct 09 #PHP
无数据库的详细域名查询程序PHP版(2)
Oct 09 #PHP
You might like
利用static实现表格的颜色隔行显示
2006/10/09 PHP
header跳转和include包含问题详解
2012/09/08 PHP
PHP获取一个字符串中间一部分字符的方法
2014/08/19 PHP
php递归实现无限分类的方法
2015/07/28 PHP
TP5框架实现签到功能的方法分析
2020/04/05 PHP
用JavaScript脚本实现Web页面信息交互
2006/10/11 Javascript
JavaScript触发器详解
2007/03/10 Javascript
基于jquery的固定表头和列头的代码
2012/05/03 Javascript
改进版通过Json对象实现深复制的方法
2012/10/24 Javascript
js操作iframe父子窗体示例
2014/05/22 Javascript
js实现简单的可切换选项卡效果
2015/04/10 Javascript
js判断手机号运营商的方法
2015/10/23 Javascript
JavaScript实现同时调用多个函数的方法
2015/11/09 Javascript
详解maxlength属性在textarea里奇怪的表现
2015/12/27 Javascript
window.onload绑定多个事件的两种解决方案
2016/05/15 Javascript
轻松掌握jQuery中wrap()与unwrap()函数的用法
2016/05/24 Javascript
BootStrap tab选项卡使用小结
2020/08/09 Javascript
在一般处理程序(ashx)中弹出js提示语
2017/08/16 Javascript
vue使用高德地图根据坐标定位点的实现代码
2019/08/22 Javascript
JavaScript数组类型Array相关的属性与方法详解
2020/09/08 Javascript
Openlayers学习之加载鹰眼控件
2020/09/28 Javascript
Python 处理图片像素点的实例
2019/01/08 Python
如何用Python破解wifi密码过程详解
2019/07/12 Python
Django中modelform组件实例用法总结
2020/02/10 Python
Python计算指定日期是今年的第几天(三种方法)
2020/03/26 Python
Python3.7 读取音频根据文件名生成脚本的代码
2020/04/07 Python
基于HTML5 Canvas 实现弹出框效果
2017/06/05 HTML / CSS
MANGO官方网站:西班牙芒果服装品牌
2017/01/15 全球购物
Clarisonic美国官网:科莱丽声波洁面仪
2017/10/12 全球购物
药学专业毕业生求职信
2013/10/20 职场文书
军训的自我鉴定
2013/12/10 职场文书
国庆促销活动总结
2014/08/29 职场文书
关于幸福的感言
2015/08/03 职场文书
深入探讨opencv图像矫正算法实战
2021/05/21 Python
新手必备Python开发环境搭建教程
2021/05/28 Python
浅谈MySQL表空间回收的正确姿势
2021/10/05 MySQL