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代码,那就说明你对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下载。现在,我们就把留言存起来: /// // 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 /// --> ECHO.PHP 由于IE把TXT文件当作HTML文件操作,所以直接把words.txt当作一个框架网页就可以了。 Note 有人认为这是IE的一个漏洞,因为你在网上浏览文本文件时,往往会放松警惕,不会想到文本文件居然可以和HTML文件一样,可以使用脚本来进行破坏活动。 如果用重定向来实现的话就需要用到JavaSvript了: /// ECHO.PHP: Use Javascript to show the file words.txt --> location="words.txt" Note 当然重定向还有其他的方法,比如利用HTML文件的META标签来实现。 这样,我们就完成了一个最简单的留言板。
小编推荐:欲学习电脑技术、系统维护、网络管理、编程开发和安全攻防等高端IT技术,请 点击这里注册账号,公开课频道价值万元IT培训教程免费学,让您少走弯路、事半功倍,好工作升职加薪!
免责声明:本站系公益性非盈利IT技术普及网,本文由投稿者转载自互联网的公开文章,文末均已注明出处,其内容和图片版权归原网站或作者所有,文中所述不代表本站观点,若有无意侵权或转载不当之处请从网站右下角联系我们处理,谢谢合作!