最简单的留言板

原创 2003年06月16日 17:24:00

1.1 留言板的原理

先让我们来看看现实生活中留言板是如何工作的,想象这样一种情况:
你说好在家等你的女友,可是临时有事情要出门,于是你决定写一个留言,以免回来时被修理。
让我们仔细分析一下事情的经过:

1 构思留言,想一个巧妙的理由
2 写下留言
3 将留言贴到门上,这样你的女友才能看到

其实在网络中,留言板也是同样工作的:

1 在页面上写好留言
2 将留言保存下来
3 在适当的时候适当的地方向适当的人显示留言

下边是这个最简单的留言板工作方式的示意图:

image004.gif

1.2 留言板的实现

下面让我们来考虑这几个页面的实现。
POST.PHP很简单,它只需要一个From,就OK了。

<!--
///////////////////////////////////////////////////////////
/// POST.PHP: This web will submit the data to SAVE.php ///
///////////////////////////////////////////////////////////
-->
<html>
<form method="POST" action="SAVE.PHP">
<p>
题目:<input type="text" name="texttitle" size="65"></p>
<p>内容:</p>
<p><textarea rows="9" name="textcontent" cols="70"></textarea></p>
<p><input type="submit" value="提交" name="B1">
<input type="reset" value="重置" name="B2"></p>
</form>
</html>

如果你看不懂上边的Html代码,那就说明你对Html还不够熟悉,请先温习一下Html的语法。这段代码表示了一个这样的页面:

image006.gif

可以看到,上边的Html代码通过Form,将“题目”和“内容”传递给了页面SAVE.PHP;在SAVE.PHP中我们可以用$texttitle和$textcontent获得它们的值。
然后让我们进行第二步,“将留言保存下来”。
问题就在于如何将POST.PHP 传过来的两个变量保存下来。要想长时间的保存变量,有两种方法:保存成文件或者放入数据库里。对一个个人留言板来说,使用数据库有些大材小用的感觉,所以我们用文件的形式来保存数据。

下边是我们要用到的几个文件操作函数:

fopen
(PHP 3, PHP 4 >= 4.0.0)
fopen -- Opens file or URL
Description
int fopen ( string filename, string mode [, int use_include_path])

flock
(PHP 3>= 3.0.7, PHP 4 >= 4.0.0)
flock -- Portable advisory file locking
Description
bool flock ( int fp, int operation [, int wouldblock])


fwrite
(PHP 3, PHP 4 >= 4.0.0)

fwrite -- Binary-safe file write
Description
int fwrite ( int fp, string string [, int length])

fclose
(PHP 3, PHP 4 >= 4.0.0)

fclose -- Closes an open file pointer
Description
bool fclose ( int fp)

关于函数的具体阐述请查阅PHP手册,如果你还没有,请到http://www.php.net/distributions/manual/php_manual_en.chm下载。现在,我们就把留言存起来:

<?php 
///////////////////////////////////////////////
// This web will save the words U leave.. //
///////////////////////////////////////////////
$ft=fopen('words.txt',"a+"
); 
flock($ft,LOCK_EX
); 
$data=$texttitle."/n".$textcontent

fwrite($ft,$data
); 
$ok=fclose($ft
); 
if(
$ok) echo "save the txet successfully..."

?>

需要注意的是flock($ft,LOCK_EX)这一句并不是可有可无的,它在对文件进行写操作之前锁定了文件,这样就有效地避免了多个用户同时对该文件进行操作而出现的错误。看看目录里边,是不是多出来了一个名叫words.txt的文本文件呢?打开一看,果然是我们刚才存放的数据。
就这样,SAVE.PHP也实现了,接下来就是显示留言了,最简单地,你可以让ECHO.PHP直接显示words.txt,方法是使用框架或者重定向。
下面我们分别用框架和重定向的方法来实现ECHO.PHP
<!--
///////////////////////////////////////////////////////////
/// ECHO.PHP: Use a fram to show the file words.txt 
///////////////////////////////////////////////////////////
-->

<html>
<head>
<title>ECHO.PHP</title>
</head>
<frameset rows="100%,*" border="0" frameborder="0" framespacing="0" framecolor="#000000">
<frame src="words.txt" scrolling="auto" ></frameset><noframes>
<body></body>
</html>

由于IE把TXT文件当作HTML文件操作,所以直接把words.txt当作一个框架网页就可以了。

Note 有人认为这是IE的一个漏洞,因为你在网上浏览文本文件时,往往会放松警惕,不会想到文本文件居然可以和HTML文件一样,可以使用脚本来进行破坏活动。

如果用重定向来实现的话就需要用到JavaSvript了:
<!--
////////////////////////////////////////////////////////////
/// ECHO.PHP: Use Javascript to show the file words.txt 
////////////////////////////////////////////////////////////
-->
<script>
location="words.txt"
</script>


Note 当然重定向还有其他的方法,比如利用HTML文件的META标签来实现。
image008.gif
这样,我们就完成了一个最简单的留言板。

php创建一个简单的留言板-上

知识点: php里的页面相互调用 requiire()与require_once()    放在php程序最前面,执行时先执行require所指...
  • aizhangjianjun
  • aizhangjianjun
  • 2015年07月26日 17:12
  • 1486

php+mysql 最简单的留言板

学完了记得动手操作。
  • think_ycx
  • think_ycx
  • 2015年08月13日 01:07
  • 1982

PHP实例一之简单的留言板

注:参考兄弟连教学视频写的一个简单的留言板模块,获得更多内容请参考我的博文。 示例:文本式留言板 需要的知识点:   1.文件操作:    file_put_contents();文件的写入函数   ...
  • u012675743
  • u012675743
  • 2014年11月29日 00:09
  • 13404

PHP简单的留言板

入口文件 文件名 index.php
  • luckymaoyy
  • luckymaoyy
  • 2016年11月30日 20:44
  • 1012

php留言板的简单编写

关于php留言板简单的编写小弟第一次写博客,也是第一次写关于程序的博客,写得不好的地方,请提出。 原理 代码 我所遇到的问题 原理简单的说就是 数据库的创建,添加数据,显示在前端上。我的程序只是简单的...
  • jeak2015
  • jeak2015
  • 2016年12月02日 23:45
  • 3508

vue.js做简易留言板

跟着网上的视频教程做了一个简易的留言板需要的自取,新手多多包涵 用户名 年龄 用户信息表 ...
  • qq_36947128
  • qq_36947128
  • 2017年05月31日 17:22
  • 1019

php实现简单的留言板

最近学些php的课程还是一本满足的,毕竟是脚本语言还是很容易上手的,不吹不黑,哈哈!好了,进入正题,本文在实现留言板的过程讲解一些知识点。 如何连接数据库? 说来尴尬,我的wampserver的mys...
  • AZHELL
  • AZHELL
  • 2017年05月20日 22:55
  • 1327

(六)Web Storage的使用实例——简单web留言本

简单web留言本
  • lmb55
  • lmb55
  • 2015年07月03日 11:31
  • 1916

【军哥谈CI框架】之制作简单留言板的例子

亲们,好久不见了,军哥可想死你们了!最近都比较忙吧,军哥亦是如此哦,首先忙于学习,不断让学习成为一种信仰,一种习惯;接着是忙于运动,生命在于生生不息嘛,军哥在这里表达的不是生命在于运动,否则成天运动的...
  • u011886490
  • u011886490
  • 2013年08月30日 14:51
  • 1213

留言板v2.0(添加了一个简单登录功能php+mysql)

简述:在之前基础上添加了一个非常简单的登录功能,不涉及数据库,本地判断。 第一步:建立数据库。(之前写过,在写一遍。) 第二步:登录界面代码login.php 留言板登录 .c...
  • qq_24524905
  • qq_24524905
  • 2017年02月08日 16:07
  • 923
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:最简单的留言板
举报原因:
原因补充:

(最多只允许输入30个字)