php专区

 首页 > php专区 > PHP进阶 > 网络编程 > 聊天室技术(五) -- 指挥中心

聊天室技术(五) -- 指挥中心

分享到:
【字体:
导读:
         摘要:这里是聊天室的指挥中心,所有的指令都要在这里发出1下面是基本的发送表单代码lt;formnameinputformactionmessagesend.phptargetblonsubmitreturn(checksay());methodPOSTgt;lt;?//下面的2个参数用于验证信息的正确性print(lt;in...

聊天室技术(五) -- 指挥中心
这里是聊天室的指挥中心,所有的指令都要在这里发出

 

1下面是基本的发送表单代码

<form name=inputform action='messagesend.php' target='bl' onsubmit='return(checksay());' method=POST>

<?
//下面的2个参数用于验证信息的正确性
print("<input type='hidden' name='name' value='$name'>n");
print("<input type='hidden' name='pass' value='$pass'>n");
?>

//聊天对象,注意加上 readonly 属性
<input type="text" name="talkto" size="10" maxlength="20" readonly value="所有人">

//上次聊天的发送内容
<input type='hidden' name='message' value=''>

//发送的表单文本框
<input type="text" name="msg" maxlength="120" size="34">

<input type="submit" name="Submit" value="发送">

</form>

2 检查发送内容的js

var dx ='';
function checksay( )
{

//不允许发送空的发言
if(document.inputform.msg.value=='')
{
document.inputform.msg.focus();
return false;
}

//不允许重复发言,内容相同,对象相同
if ((document.inputform.msg.value==document.inputform.message.value)&&(document.inputform.talkto.value==dx))
{
alert('发言不能重复');
document.inputform.msg.focus();
return false;
}

//两次发言内容的间隔不能小于1秒,或者发言字数大于间隔*3
t2=(new Date()).getTime()/1000;
if(((t2-t1)<1)||((t2-t1)*3<document.inputform.msg.value.length))
{
document.inputform.msg.focus();
return false;
}

//更新时间
t1=t2;

document.inputform.showsign.value=1;

//保存上次发言内容
document.inputform.message.value =document.inputform.msg.value;

//清空发言内容
document.inputform.msg.value ='';

//保存发言对象
dx=document.inputform.talkto.value;

//定位焦点
document.inputform.msg.focus();

//返回
return(true);
}

3调用信息发送程序,发布聊天者已经进入的信息
<script>
parent.bl.document.open();
parent.bl.document.write("<meta http-equiv='refresh' content='0;url=messagesend.php?name=<? print($name); ?>&&action=enter&&pass=<? print($pass); ?>'>")
parent.bl.document.close();
</script>

发言由messagesend.php处理完成,注意输出对象为bl,也就是处理发言的框架名称,这样保证发言框架的页面内容的完整

原作者:howtodo
来源:php2000.com

聊天室技术(五) -- 指挥中心
分享到:
聊天室技术(六)-- 表情和动作
聊天室技术(六)-- 表情和动作表情和动作极大的丰富了聊天的乐趣,一般的聊天室主要通过2种方法发送 (1) 按钮菜单的方法 通过在一个固定的下拉菜单里面进行选择,找到自己满意的表情,然后选中,按发送按钮发出 (2) 通过手工输入代号 比如网易的以手工输入 //hello 代表欢迎的一段动作,以 //bye 代表再见的一段动作表情   ...
聊天室技术(四)-- 显示
聊天室技术(四)-- 显示现在的www聊天室基本全部采用框架方式,可以用frame也可以用iframe看个人喜欢了,我的采用frame的传统方式   print("&lt;frameset rows="*,110,0,0,0" border=0&gt;n"); print("&lt;frameset cols="660,118" rows="*"&gt;n"); //主显示屏幕,负责显示聊天内容 print("&lt;frame name=u src=about:b...
  •         php迷,一个php技术的分享社区,专属您自己的技术摘抄本、收藏夹。
  • 在这里……