分享
 
 
 

最简单的留言板

王朝other·作者佚名  2006-01-08
窄屏简体版  字體: |||超大  

1.1 留言板的原理

先让我们来看看现实生活中留言板是如何工作的,想象这样一种情况:

你说好在家等你的女友,可是临时有事情要出门,于是你决定写一个留言,以免回来时被修理。

让我们仔细分析一下事情的经过:

1 构思留言,想一个巧妙的理由

2 写下留言

3 将留言贴到门上,这样你的女友才能看到

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

1 在页面上写好留言

2 将留言保存下来

3 在适当的时候适当的地方向适当的人显示留言

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

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的语法。这段代码表示了一个这样的页面:

可以看到,上边的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标签来实现。

这样,我们就完成了一个最简单的留言板。

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有