威尼斯登录首页(1)登陆表单,他们的呢称不会被人恶意侵占使用.我的聊天室使用注册方法
分类:威尼斯登录首页

闲聊室编制程序思想-- 大门--登录

闲聊室能够使用完全自由的议程运营,你能够任性输入呢称,不用密码,不保留你的拉扯状态,优点是:自由,特别切合于游客!其余一个措施是登记谈天室,每一个步入闲聊室的人都要输入自个儿的顾客名和密码能力跻身!优点:足够展示本性,特别相符于老朋友,他们的呢称不会被人恶意侵吞使用.小编的谈天室使用登记格局!

大门--登陆

注册平日接收2种办法:

1 页面登录的基本要素

1、先登记然后进入闲谈 2、自动注册

您能够在自己的竹叶见到登入 的表单,这里提供了最宗旨的登入表单项

接下来在当中期维改正自个儿的素材!小编利用第2种方法!!每一种新步入的聊友的顾客名会被活动保存到注册到数据库内,后一次登录必得输入准确的密码技能步向!

(1卡塔尔(قطر‎登入表单

下边是判别部分!本程序行使文本数据库!

form method=POST name=chatform action=chat/login.php?action=enter onSubmit=b1_submit();return true; target=howtodo

//$useronline为在窥伺者的数据文件名称 //$useronlinelock为在眼线的锁定标记//$register为已经登记的数据文件名称 //$registerlock为注册文件的锁定标志//$split为分隔符

(a卡塔尔(قطر‎闲谈表单的名为chatform,小编利用action=enter作为步入闲谈室的入口,若无那么些参数,则展现登录页 面.

//登陆参数 enter if { //当前时刻秒数 $timecurrent = date;

(b卡塔尔国在表单提交时,先调用b1_submit(卡塔尔创立闲话的窗口

//锁定在窥伺者数文件,幸免同不常间校正同贰个文书 while( file_exists { if(!file_exists { break; } }

聊天的对象窗口为b1_submit()建立 的howtodo窗口

//创制有时文件 fclose(fopen;

(2)表单项

//读入在线客商和早就登记客户的新闻:密码,外号,更新时间 $useronline = file; $register = file;

昵称:input type=text name=name size=15 maxlength=10

//用于判别登入是或不是成功的评释 $namesign=0;

密码:input type=password name=pass size=15 maxlength=10

//决断客商名,密码的失实,顾客名不容许为空,不一样意超越13个字符,密码不一致敬当先18个字符 if || || { print; //登入退步 $namesign=1; //删除一时文件 unlink; } else { //查找是或不是曾经有人注册或许密码错误 $foundsign=0; for($i=0;$i<count { //分割 $tempregister = split($split,$register[$i],99卡塔尔(قطر‎; //找到已经注册的客商名 if( $name == $tempregister[0] 卡塔尔(قطر‎ { //已经找到标识 $foundsign=1; //密码正确吗 if($pass != $tempregister[1]卡塔尔 print; //登入退步 $namesign=1; unlink; break; } else { //老客商登录成功 $namesign=0; break; } }

input type=submit name=submit value=登陆 style=width:100

}

input type=reset name=reset value=重添 style=width:50

//若无找到那一个顾客名,那么就自动注册 if { //保存客户名和密码 $handle = fopen; fputs($handle,"$name$split$pass$splitrn"卡塔尔; fclose; //新客户登录成功 $namesign=0; } } } if { //更新在眼线的名单 $useronlinehandle = fopen;

(a卡塔尔(قطر‎各表单项一定要设定最大允许长度 maxlength

//判别是或不是早就在内部,只是刷新页面 $updatesign = 0; for($i=0;$i<count { $usertemp=split($split,chop; if($name == $usertemp[0]卡塔尔 { //更新标志$updatesign = 1; fputs($useronlinehandle,$useronline[$i]); } else { fputs($useronlinehandle,$useronline[$i]卡塔尔; } } //如果没有在中间,则增至在这之中 if fputs($useronlinehandle,"$name$split$level$split$pass$split$timecurren trn"卡塔尔; fclose;

(3卡塔尔(قطر‎建设构造闲谈窗口的js

//去掉缩定 unlink;

script LANGUAGE=javascriptfunction b1_submit(){chat=window.open(,howtodo,Status=no,scrollbars=no,resizable=no);chat.moveTo(0,0);chat.resizeTo(screen.availWidth,screen.availHeight);chat.outerWidth=screen.availWidth;chat.outerHeight=screen.availHeight;}

//登入成功 }

这段代码先 张开八个从未状态栏,滚动条,可调动尺寸的howtodo窗口!然后移动到显示器左上角,然后推广到允许的显示屏大小.

到此地,客户的印证已经做到,聊友已经济同盟法的步向了闲谈室,辅导者呢称和密码

闲谈室编程观念--大门 -- 通行证

登录

大门 -- 通行证

1、页面登录的基本要素

闲聊室能够运用完全自由的艺术运转,你能够随便输入呢称,不用密码,不保留你的闲扯状态,优点是:自由,特别符合于游客!其余一个措施是注册闲谈室,每一个步向谈天室的人都要输入自个儿的顾客名和密码技能步入!优点:充裕呈现性子,非常符合于老朋友,他们的呢称不会被 人恶意侵夺使用.笔者的闲扯室使用登记格局!

您能够在本人的竹叶见到登入的表单,这里提供了最焦点的登入表单项

登记平常使用2种方式:1,先注册然后踏向聊天;2,自动注 册,然后在里面修改自个儿的资料!笔者动用第2种方法!!每一种新走入的聊友的客商名会被活动保存到注册到数据库内 ,下一次登入必需输入正确的密码才干跻身!

登入表单

上边是推断部分!本程序选择文本数据库 !

<form method=POST name=chatform action=chat/login.php?action=enter onSubmit="b1_submit();return true;" target="howtodo">

//$useronline为在线人的数据文件名称//$useronlinelock为在线人的锁定标志//$register为已经注册的数据文件名称//$registerlock为注册文件的锁定标志//$split为分隔 符//登陆参数 enterif($action == enter){//当前时间秒数$timecurrent = date(U);//锁定在线人数文件,防止同时修改同一个文件while( file_exists($useronlinelock)){if(!file_exists($useronlinelock)){break;}}//创建临时文件fclose(fopen($useronlinelock,w));//读入在线用户和已经注册用户的信息:密码,昵称,更新时间$useronline = file($useronline);$register = file($register);//用于判断登 陆是否成功的标志$namesign=0;//判断用户名,密码的错误,用户名不允许为空,不允许超过10 个字符,密码不允许超过20个字符if(($name ==) || (strlen($name)  10) || (strlen($pass)  20) ){print(没有昵称或密码过长);//登陆失败$namesign=1;//删除临时文件unlink($useronlinelock);}else{//查找是否已经有人注册或者密码错误$foundsign=0;for($i=0;$icount($register);$i++){//分割$tempregister = split($split,$register[$i],99);//找到已经注册的用户名if( $name == $tempregister[0] ){//已经找到标志$foundsign=1;//密码正确吗if($pass != $tempregister[1])print(密码错了!);//登陆失败$namesign=1;unlink($useronlinelock);break;}else{//老用户登陆成功$namesign=0;break;}}}//如果没有找到这个用户名,那么就自动注册if(!$foundsign){//保存用户名和密码$handle = fopen($register,a);fputs($handle,$name$split$pass$split );fclose($handle);//新 用户登陆成功$namesign=0;}}}if(!$namesign){//更新在线人的名单$useronlinehandle = fopen($useronline,w);//判断是否已经在里面,只是刷新页面$updatesign = 0;for($i=0;$icount($useronline);$i++){$usertemp=split($split,chop($useronline[$i]),99);if($name == $usertemp[0]){//更新标志$updatesign = 1;fputs($useronlinehandle,$useronline[$i]);}else{fputs($useronlinehandle,$useronline[$i]);}}//如 果没有在里面,则增加到里面if(!$updatesign)fputs($useronlinehandle,$name$split$level$split$pass$split$timecurrent );fclose($useronlinehandle);//去掉缩定unlink($useronlinelock);//登陆成 功}到这里,用户的验证已经完成,聊友已经合法的进入了聊天室,携带者呢称和密码聊天室编程思想--大厅 -- 显示界面大厅 -- 显示界面2000年09月04现在的www聊天室基本全部采用框架方式,可以用 frame也可以用iframe看个人喜欢了,我的采用frame的传统方式print(frameset rows=*,110,0,0,0 border=0 );print(frameset cols=660,118 rows=* );//主显示屏幕,负责显示聊天内容print(frame name=u src=about:blank frameborder=NO noresize );//在线人数屏幕print(frame name=r src=about:blank frameborder=NO);print(/frameset );//发送信息的屏幕,信息指挥中心,所有指令都要由这里发出print(frame name=d src=send.php?name=$namepass=$pass scrolling=no frameborder=NO noresize );//被动更新屏幕,处理发送的信息print(frame src=about:blank name=bl );/主动更新屏幕,显示自己和其他聊友的聊天信息print(frame src=about:blank name=flush );//检测是否在线的屏幕,对于异常 离开,如死机,掉线等的处理print(frame src=about:blank name=check );print(/frameset );

谈心表单的名为chatform,作者动用action=enter作为跻身谈天室的输入,若无这一个参数,则显得登录页面.

在表单提交时,先调用b1_submit谈天的对象窗口为b1_submit()建立的howtodo窗口

表单项

昵称:<input type=text name=name size=15 maxlength="10"> 密码:<input type=password name=pass size=15 maxlength="10"> <input type=submit name=submit value=登陆 style="width:100"> <input type=reset name=reset value=重添 style="width:50">

各表单项应当要设定最大允许长度 maxlength

树立谈天窗口的js

<script LANGUAGE="javascript"> function b1_submit(){ chat=window.open('',"howtodo",'Status=no,scrollbars=no,resizable=no');

chat.moveTo; chat.resizeTo(screen.availWidth,screen.availHeight); chat.outerWidth=screen.availWidth; chat.outerHeight=screen.availHeight; }

这段代码先张开二个还未有状态栏,滚动条,可调动尺寸的howtodo窗口!然后移动到荧屏左上角,然后推广到允许的显示器大小.

在眼线数

自己依据天涯论坛闲谈室的在眼线数的艺术,显示当前的在线人数,代码解释如下: 1、登入时确立在窥探名单的数组,放在body后边

<? //锁定在眼线数文件 while(file_exists{$pppp++;} fclose(fopen;

//读入在窥探名单 $useronline = file; unlink;

//创建数组 list print("document.writeln; $k=count; if { for { $usercurrent = split($split,$useronline[$i],99State of Qatar; // 姓名+, print; } $i=$k-1; // 管理最终三个姓名 $usercurrent = split($split,$useronline[$i],99卡塔尔(قطر‎; print; } // 数组甘休 print; ?>

2、显示在窥伺者数的js

document.writeln('[在间谍数<font color=red>'+count+'</font>]<br>'); document.writeln("[<a href="javascript:parent.cs">所有人</ a>]<br>"); document.writeln; var j,name,club; for(var i=0;i<list.length;i=i+1) { if{

//展现每一个在间谍的名字 document.writeln("<a href="javascript:parent.cs" titl e='"+list[i]+"'>"+list[i]+"</a><br>"); } } this.r.document.writeln;

3、改造闲谈对象

function cs { if(this.d.document==null)return; if { this.d.add; this.d.document.inputform.talkto.value='所有人';

//退换核心 this.d.document.inputform.msg.focus(卡塔尔; return; } for(var i=0;i<list.length;i=i+1State of Qatar { if {

//校订发送的出口对象 this.d.document.inputform.talkto.value=list[i]; this.d.document.inputform.msg.focus(); return; } }

//错误 alert; }

4、删除二个客户

function del { for(var i=0;i<list.length;i=i+1) if { delete list[i]; count--; } }

5、扩张三个客户

function add { var l=list.length; for(var i=0;i<list.length;i=i+1)

//假如已经在数组里面则赶回 if return;

//扩展七个客商 list[l]=str1; count++; }

6、更新闲聊人数的主意,放大计时器的利用

var timerID=null; var timerRunning=false;

威尼斯登录首页,function stop(卡塔尔国 { //停止 ifclearTimeout; timerRunning=false; } function start; //调用立异在窥伺者数的主次 write1(卡塔尔; }

function write1(卡塔尔 { ... ... ... ... //设定更新时间, timerID=set提姆eout; timerRunning=true; }

这种方法比较轻便的得以达成了在卧底数的显示,当然也得以使用读入在眼线文件的措施展现在眼线数,可是在改变闲聊对象是会比较麻烦.

显示

这两天的www聊天室基本全部运用框架格局,能够用frame也能够用iframe看个人心仪了,小编的使用frame的观念意识方法

print("<frameset rows="*,110,0,0,0" border=0>n"); print("<frameset cols="660,118" rows="*">n");

//主显示荧屏,担任显示闲聊内容 print("<frame name=u src=about:blank frameborder="NO" noresize>n"卡塔尔(قطر‎;

//在线人数荧屏 print("<frame name=r src="about:blank" frameborder="NO">"卡塔尔(قطر‎; print;

//发送新闻的显示屏,音讯指挥为主,全数指令都要由这里爆发 print("<frame name=d src=send.php?name=$name&&pass=$pass scrolling='no ' frameborder="NO" noresize>n"State of Qatar;

//被动更新显示屏,管理发送的音信 print("<frame src="about:blank" name="bl">n"卡塔尔(قطر‎;

/主动立异荧屏,展现自个儿和别的聊友的扯淡新闻 print("<frame src="about:blank" name="flush">n"卡塔尔(قطر‎;

//检查测量试验是或不是在线的显示器,对于那个离开,如死机,掉线等的拍卖 print("<frame src="about:blank" name="check">n"卡塔尔; print;

因为各种页面之间的主次有牵连,所以显得顺序很珍爱,能够看看,笔者那边独有发送页面不是about:blank,别的页面的展现都要先经过发送页面包车型大巴调用手艺起首.

指挥为主

那边是闲谈室的指挥为主,全体的一声令下都要在那地发生1、下边是基本的出殡和安葬表单代码

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

<? //上面包车型大巴2个参数用于注明音讯的准确性 print("<input type='hidden' name='name' value='$name'>n"卡塔尔国; print("<input type='hidden' name='pass' value='$pass'>n"State of Qatar; ?>

//闲谈对象,注意加上 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==dxState of Qatar卡塔尔国{ alert; document.inputform.msg.focus(State of Qatar; return false; }

//三次演说内容的间距不可能小于1秒,或许发言字数大于间距*3 t2=/1000; if*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; }

3、调用音讯发送程序,公布谈心者已经跻身的音讯

<script> parent.bl.document.open(); parent.bl.document.write("<meta http-equiv='refresh' content='0;url=messagesend.php?name=<? print; ?>&&action=enter&&pass=<? print parent.bl.document.close(); </script>

发言由messagesend.php管理达成,注意输出对象为bl,也正是拍卖发言的框架名称,那样保证发言框架的页面内容的完整

表情和动作

表情和动作十分大的丰硕了闲谈的童趣,日常的聊天室主要透过2种情势发送

开关菜单的主意

通过在三个原则性的下拉菜单里面进行接收,找到本身得偿所愿的神色,然后选中,按出殡和安葬开关发出

经过手工业输入代号

比方说腾讯网的以手工业输入 //hello 代表接待的一段动作,以 //bye 代表拜拜的一段动作表情 大家那边介绍菜单的切切实实落到实处情势,手工业输入的决不介绍了呢! 哈哈!除非您记不住这么些...

1 下拉菜单接收表情动作的得以完结

为了扩展方便,大家创建了表情动作的数据文件,那样在之后扩大时将会相当方便.

表情动作文件的格式如下:

//1234$split“1234567,笔者的情人在哪个地方1234!!!!!” //?$split很吸引的瞧着对象... //??$split抓啊抓,把头皮都抓破了,也从没想出个所以然来。 //???$split怎么回事?那到底是怎么回事

前面的//1234代表表情动作代码,分隔符后边的意味展现的神情动作注意个中的 对象 七个字将会在显示时替换来为发言对象的名字

这段代码用于把菜单选取的相应的神色动作代码写到发送栏里面

<script> function changemote { document.inputform.msg.value = $newemote } </script>

这段代码生成动态下来菜单

<select name="select" onchange="changemote(this.options[this.selectedIndex].value)"> <option value="0" selected>动作</option> <? $emotemsg = file; for($i=0;$i<count { $msg = split($split,$emotemsg[$i],99); print("<option value=$msg[0]>$msg[1]</option>"); } ?> </select>

这么就完了了从菜系选动作表情的历程

2 表情动作在解说管理程序里的管理进程

messagesend.php

<?

//读入表情动作文件 $emote3 = file; $emote3number = count; for($kk=0;$kk<$emote3number;$kk++State of Qatar {

//分割各类表情动作 $emote=split($split,chop;

//假若发言内容特出表情动作 if($message == $emote[0]) {

//替换表情动作里面包车型地铁 对象 为实际的谈天对象名字 $emote[1]=ereg_replace("对象","<font color=red>$talkto</font>",$emote[1]);

//发言内容改为动作表情的源委 $message = "<a href=javascript:parent.cs target=d>$name</a >".$emote[1]; break; } } ?>

如此那般大家就完结了表情和动作,就算做叁个自行抬高动作表情的主次功用,更会追加闲聊的娱乐性!

帖图

要是在闲谈文字中能扩张一些雅观的图片....... 图片代码的变型和神情动作相通,能够菜单选用也得以手工输入,这里只给出格式和代码,不再解释,请察看 表情于动作部分

1 文件格式

//$picturefilename

1$split浅莲红胸衣$splitxw20141.jpg$split 2$split铁黑燕尾服$splitxw201534.jpg$split

数码+名称+图片名称+

2 程序

本身的闲扯室选取///gift+编号的不二等秘书籍呈现图片,注意是多个反斜杠,不同于表情动作

<? //决断发言的内容最前头的7个字符是还是不是是 ///gift if == "///gift"卡塔尔 {

//获得图片的数码,从第7个字符开首的2个字符 $id = substr-1;

//读入图片文件 $giftmsg = file;

//推断是还是不是编号合法 if && 卡塔尔 卡塔尔(قطر‎ { //分割图片行 $gift=split($split,$giftmsg[$id],99);

//生成图片的解说内容 $message ="<a href=javascript:parent.cs target=d><font col or=$namecolor>$name</font></a>送给<a href=javascript:parent.cs target=d>$talkto</a>三个$gift[1]<img src='images/$gift[2]' width=6 0 height=60 border=0></font>";

//图片生成成功证明 $specialsign = 1; }

}

密谈的贯彻

各样闲谈室都提供了密谈成效,来为那么些急需私行里进行调换的聊友提供方便,这里把本身的闲谈室达成私聊的形式介绍如下:

1 对发送音讯的拍卖

每句私聊都要展现在团结和私聊对象的荧屏上,而其余人无法看见.这里先对发言内容开展管理,然后再保存到发言文件之中!

//$split为分隔符号

messagesend.php

<? //推断是或不是私聊发言 if { //在发言前边加上暗记<!--+私聊标志+对象+发言者+--> 个中+代表分隔符

//第一个标识为 secret 表示为私聊,前边的是谈天对象和和气的名字,保险那多个人能见到 $message = "<!--$splitsecret$split$talkto$split$name$split--><font c olor=ff0000>密谈</font>$message"; } else {

//假使第三个标记为 open 表示公开,后边类似为对象和友爱的名字 $message = "<!--$splitopen$split$talkto$split$name$split-->$message" }

//然后封存到文件中 ?>

2 展现私聊的法子

对各类新的解说读入后先进行管理推断,在主动刷新程序里面举行.

messageflush.php

<? //分割发言内容 $tempmessage = split($split,$message[0],99);

//假使发言不是密谈,恐怕私聊对象是团结,也许发送这句私聊的是自身,那就显得这句话,否则不出示 if( ($tempmessage[1] != "secret") || ($tempmessage[2] == $name) || ( $tempmessage[3] == $name) ) {

//展现私聊 print("parent.u.document.writeln; } ?>

经过这种总结的不二秘技,大家兑现了私聊,

注意:

前面包车型客车保存文件管理时,对发言的判定文字前后有<!-- 和 -->那样在显示屏展现时就足以不用独特处理了!

本文由威尼斯在线注册平台发布于威尼斯登录首页,转载请注明出处:威尼斯登录首页(1)登陆表单,他们的呢称不会被人恶意侵占使用.我的聊天室使用注册方法

上一篇:咱俩先来拜见数据库布局.,可是笔者想看看广告效应后想了就写了一个简练的广告总计代码了 下一篇:没有了
猜你喜欢
热门排行
精彩图文