PHP教程实例:用PHP打造动态聊天室系统
日期:2007年7月12日 作者: 查看:[大字体 中字体 小字体]-
这是一个简单的用PHP设计的聊天室程序,目的是通过这个程序让大家熟悉PHP如何处理表单数据的!
这个经过精心设计的web聊天室使用了从表单传递过来的变量,并且把它们处理为HTML ,然后将其写入文件。把表单和信息文件放在一个框架中,你可以看到它与一个叫BeSeen的聊天室很象。当然它的好处在于, 我们的聊天室比起它的BeSeen堂兄弟来说要聪明一些。
<form action="chat.php" method="post">
Name : <input type="text" name="name"><br>
Message : <input type="text" name="message"><br>
<input type="submit" value="Send">
</form>上面就是基本的用于输入的表单。你可能想把它弄得更美观一些,但是不管出于什么目的,这个就是你要处理的。它发送两个变量给chat.php3,分别叫做$name和$message。
不过,在处理那些变量之前,我们需要从消息文件中把当前的内容取出来,否则在一个时间里我们只能看到一条消息了。几乎没有一个方法可以管理对话。只有象我一样对自已的消息文件的结构很熟悉,我就知道每一条消息都以一个回车符结束。这就是说,可以使用file()函数来将消息文件读到一个数组中去。
消息文件有12行。在12行中,第1行为头信息,第2行到11行为旧的消息,第12行包含了我的脚标。
我最感兴趣的是得到一个能够包含所有那些旧消息的字符串。
<?php
// 把文件读到一个数组中
$message_array = file("messages.html");
// 编辑字符串
for ($counter = 1; $counter < 10; $counter++) {
$old_messages .= $message_array[$counter];
}
?>在处理字符串的时候,我将for循环的$counter初始化为1而不是0。这是因为我知道$message_array 数组的第0个元素包含的是我的头信息,我不需要它。而且,通过设置循环结束条件为$counter < 10,意思是只有数组中1到9的元素被读到字符串中。对于剩下的两个元素,第11个包含我的脚标,第10个包含的是最旧的消息。这两个我都想删除,因为在任何时刻我只让屏幕显示10条消息。修改$counter < 10 表达式,可以允许你改变所包含消息的数量。
现在已经有了旧的消息,接着我想生成新的消息。我们已经有了两个变量:$name 和$message,所以写出一个新的消息就很容易了。
<?php $new_message = "$name : $message<br> "; ?>
我们就快要写好消息文件了。剩下需要的就是头信息和脚标。先加入简单的头部信息:
<?php
// 除了在字符串末尾有回车符,其它地方不能有回车符,这一点很重要。
// 要把所有的头信息放在一样。
$header = "<html><body bgcolor="#000000" text="#ffffff"> ";
?>我们想让消息屏幕能够自动刷新,那么人们就可以看到新的贴子了。我没有使用javascript,而是采用了META标记进行刷新,主要是因为它可能更容易被客户端支持。我也不想让搜索引擎对我的消息文件进行索引。所以重新定义头信息为:
<?php
- [1] [2] 下一页
-
- PHP教程实例:用PHP打造动态聊天室系统 相关文章:
- ·PHP教程实例:用PHP打造动态聊天室系统
- PHP教程实例:用PHP打造动态聊天室系统 相关软件
- 特别声明:本站除部分特别声明禁止转载的专稿外的其他文章可以自由转载,但请务必注明出处和原始作
- 者.文章版权归文章原始作者所有.对于被本站转载文章的个人和网站,我们表示深深的谢意。如果本站转
- 载的文章有版权问题请联系编辑人员,我们尽快予以更正. 转载请注明来源:http://www.hackhome.com
下一篇:安全小妙招WinRAR硬盘清除“pagefile.pif”病毒
精品推荐
热点TOP10
- ·一个Struts实现分页,增删改查,Tiles,国际化的DEMO
- ·轻松了解MySQL数据库中的CONVERT()
- ·JSP单页面网站文件管理器
- ·Swt常用控件中文教程
- ·Apache2的httpd.conf翻译
- ·深入整体分析Spring MVC framework
- ·PHP分页显示制作详细讲解
- ·用PHP编写PDF文档生成器
- ·ajax+php无刷新二级联动下拉菜单(省市联动)源码
- ·一棵php的类树(支持无限分类)
- ·php.ini配置,php.ini 中的 php-5.2.0 配置指令详解
- ·学习教程:Java Annotation 高级应用
- ·PHP的类--功能齐全的发送邮件类
- ·使用PHP的Socket写的POP3类
- ·PHP编程与应用
- ·Servlet、Jsp中的多国语言显示
- ·文件上传类
- ·VML绘图板②脚本--VMLgraph.js、XMLtool.js
- ·如何设置Tomcat的JVM虚拟机内存大小
- ·用JFreeChart画统计分析柱状图
