ホームページ バックエンド開発 PHPチュートリアル 聊天室技术(五) -- 指挥中心_PHP

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

Jun 01, 2016 pm 12:34 PM
gt lt name 中心 テクノロジー 指示 チャットルーム

这里是聊天室的指挥中心,所有的指令都要在这里发出

 

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

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットな記事タグ

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

Huawei GT3 ProとGT4の違いは何ですか? Huawei GT3 ProとGT4の違いは何ですか? Dec 29, 2023 pm 02:27 PM

Huawei GT3 ProとGT4の違いは何ですか?

自動運転と軌道予測についてはこの記事を読めば十分です! 自動運転と軌道予測についてはこの記事を読めば十分です! Feb 28, 2024 pm 07:20 PM

自動運転と軌道予測についてはこの記事を読めば十分です!

Stable Diffusion 3 の論文がついに公開され、アーキテクチャの詳細が明らかになりましたが、Sora の再現に役立つでしょうか? Stable Diffusion 3 の論文がついに公開され、アーキテクチャの詳細が明らかになりましたが、Sora の再現に役立つでしょうか? Mar 06, 2024 pm 05:34 PM

Stable Diffusion 3 の論文がついに公開され、アーキテクチャの詳細が明らかになりましたが、Sora の再現に役立つでしょうか?

座標系の変換を本当にマスターしましたか?自動運転と切り離せないマルチセンサーの問題 座標系の変換を本当にマスターしましたか?自動運転と切り離せないマルチセンサーの問題 Oct 12, 2023 am 11:21 AM

座標系の変換を本当にマスターしましたか?自動運転と切り離せないマルチセンサーの問題

DualBEV: BEVFormer および BEVDet4D を大幅に上回る、本を開いてください! DualBEV: BEVFormer および BEVDet4D を大幅に上回る、本を開いてください! Mar 21, 2024 pm 05:21 PM

DualBEV: BEVFormer および BEVDet4D を大幅に上回る、本を開いてください!

初のマルチビュー自動運転シーンビデオ生成世界モデル | DrivingDiffusion: BEV データとシミュレーションの新しいアイデア 初のマルチビュー自動運転シーンビデオ生成世界モデル | DrivingDiffusion: BEV データとシミュレーションの新しいアイデア Oct 23, 2023 am 11:13 AM

初のマルチビュー自動運転シーンビデオ生成世界モデル | DrivingDiffusion: BEV データとシミュレーションの新しいアイデア

GSLAM | 一般的な SLAM アーキテクチャとベンチマーク GSLAM | 一般的な SLAM アーキテクチャとベンチマーク Oct 20, 2023 am 11:37 AM

GSLAM | 一般的な SLAM アーキテクチャとベンチマーク

「Minecraft」が AI の街に変わり、NPC の住人が本物の人間のようにロールプレイ 「Minecraft」が AI の街に変わり、NPC の住人が本物の人間のようにロールプレイ Jan 02, 2024 pm 06:25 PM

「Minecraft」が AI の街に変わり、NPC の住人が本物の人間のようにロールプレイ

See all articles