|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
也或许是因为我还没有真正的学到深处吧,说实在的,PHP中的很多高级点的应用,如PHP类、PHP函数基本还是不懂吧! 这是一个复杂的用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
$header = "<html><head><meta http-equiv="refresh" content="8">".
"<meta name="robots" content="noindex"></head>".
"<body bgcolor="#000000" text="#ffffff"> ";
?>
在文件的脚标处,我通常为放置一小段版权信息,还有与翻开的头信息对应的停止标志。
<?php
$footer = "<p align="center"><font color="#000000">".
" |
|