
 
 | 
| 技术资料  > PHP技术 > 入门教程 : 聊天室技术(五) -- 指挥中心 |  
聊天室技术(五) -- 指挥中心 March 25,2004 |  
这里是聊天室的指挥中心,所有的指令都要在这里发出  
 
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    
         |  
 
 | 
  
Copyright © 2001-2008 Shenzhen Hiblue Software Team All rights reserved