电脑知识|欧美黑人一区二区三区|软件|欧美黑人一级爽快片淫片高清|系统|欧美黑人狂野猛交老妇|数据库|服务器|编程开发|网络运营|知识问答|技术教程文章 - 好吧啦网

您的位置:首頁技術文章
文章詳情頁

用PHP+MySql編寫聊天室

瀏覽:54日期:2024-01-02 13:45:20
大家好!好久沒有看到大家了,上次寫了用PHP的通過文件操作的聊天室,當然是漏洞百出的,而且每一次刷新屏幕都很糟糕的!我想了好久,是不是能有一種方法不要刷新,就能取得發言的信息了?多用一個框架就能實現這個效果了,即多用一個框架我們稱為getmsg,我們讓getmeg去取得信息而且保證每一次取得的信息是最新的,就是上次取得的發言就不要了,上次我編的就是每一次取得信息都是重復的,這樣效果不好。 ;;;;;我的設計思想是:每一次發言,都把它提交到服務器上,然后保存到一個數據庫里,每格幾秒鐘getmsg就去服務器上取得 最新發言數據,并保證上次取得的發言就不要取下來了,然后把取下來的發言疊加到一個專門顯示發言的窗口(listmsg)去。這樣我們就感覺listmsg窗口不會有重刷新的感覺而且,只是看到發言信息不斷加進去,這樣就有很好的效果, 怎樣在一個框架把信息加到另個框架去了?用JavaScript就可以實現這個想法的: <script language="JavaScript"> <!-- var win=parent.frames[0] //第一個框架即在文檔中第一次出現的<frame> var doc=win.document //獲取文檔 doc.write("發言信息")//這樣就可以把信息加到另個frame里去了! --> </script> 當然你得在mysql里建兩個表,一個表用于保存發言信息,一個表用于保存幾個在線的,在列在線人數時,我們讓它每個60秒刷新一次,并把一分鐘以前的發言刪掉,并看某個發言人是不是很長時間沒發言了,是的話,就刪掉他, 由于表的子段很簡單,在這里就不要寫出來了,看程序就會知道了。這個程序在網上網下測試的效果都很好! 表的名字是:chat和chat_getmsg <!--主框架chat.php--> <?PHP if(!isset($username));;;;;;$username="guest";$conid=mysql_connect("localhost","yourcounter","password"); ;;mysql_select_db("yourdadabase",$conid); $dstr=date("YmdHis"); $sql="insert chat_getmsg (username,shijian) values ('$username','$dstr')"mysql_query($sql,$conid); $sql="update chat_getmsg set shijian='$dstr' where username='$username'"mysql_query($sql,$conid); mysql_close($conid); ?> <html> <head> <title>Untitled Document</title> <meta http-equiv="Content-Type" content="text/html; charset=gb2312"> </head> <frameset rows="283,105" frameborder="YES" border="1" framespacing="0" cols="*">;;;;<frameset cols="520,113" frameborder="yes" border="1" framespacing="0" rows="*">;;;;;;<frame name="topFrame" scrolling="auto" border="1" noresize src="list.html" > ;;;;<frame name="rightFrame" scrolling="auto" border="1" noresize src="username.php"> ;;</frameset> ;;<frameset rows="17,90" frameborder="yes" border="1" framespacing="0" cols="*">;;;;;<?PHP echo "<frame name="topFrame1" scrolling="NO" border="1" noresize src="getmsg1.php?username=$username">n"?> ;;;<?PHP echo "<frame name="bottomFrame" scrolling="NO" border="1" noresize src="fayan.php?username=$username">n"?> ;;</frameset> </frameset> <noframes><body bgcolor="#FFFFFF"> </body></noframes> </html> <!--發言fayan.php --> <?php if(!isset($username)) ;;;;;$username="guest"if(!isset($yanse)) ;;;;;;$yanse="blue"if(!isset($objectname)) ;;;;;;$objectname="大家"?> <html> <head> <title>Untitled Document</title> <meta http-equiv="Content-Type" content="text/html; charset=gb2312"> <style type="text/css"> <!-- .normalfont {;;font-family: "宋體"font-size: 10pt; font-weight: 800; color: #99FF33; height: auto; width: auto; left: 0px; top: 0px; clip:;;rect(;;;)} --> </style> </head> <body bgcolor="#ff3333"> <form method="post" name="fayanform" action=<?PHP echo ""fayan.php?username=$username&yanse=$yanse&objectname=$objectname "";?> class="normalfont"> ;;<table width="100%" border="0" cellspacing="0" cellpadding="0" class="normalfont"> ;;;;<tr>;;;;;;;;<td width="17%";;height="22"> 顏色:;;<select id=yanse name="yanse"> ;;<option value="blue" <?PHP if($yanse=="blue") echo "SELECTED";?> >Blue;;;;<option value="red";;<?PHP if($yanse=="red") echo "SELECTED";?> >red ;;<option value="green" <?PHP if($yanse=="green") echo "SELECTED";?>;;>green ;;<option value="yellow" <?PHP if($yanse=="yellow") echo "SELECTED";?> >yellow ;;<option value="brown" <?PHP if($yanse=="brown") echo "SELECTED";?> >brown ;;<option value="#ff00ff" <?PHP if($yanse=="#ff00ff") echo "SELECTED";?> >ff00ff ;;<option value="#bb00ff" <?PHP if($yanse=="#bb00ff") echo "SELECTED";?> >bb00ff ;;<option value="#cc00ff" <?PHP if($yanse=="#cc00ff") echo "SELECTED";?> >cc00ff ;;<option value="#aa00ff" <?PHP if($yanse=="#aa00ff") echo "SELECTED";?> >aa00ff ;;<option value="#6600ff" <?PHP if($yanse=="#6600ff") echo "SELECTED";?> >6600ff ;;<option value="#7700ff" <?PHP if($yanse=="#7700ff") echo "SELECTED";?> >7700ff ;;<option value="#1100ff" <?PHP if($yanse=="#1100ff") echo "SELECTED";?> >1100ff ;;<option value="#11ffff" <?PHP if($yanse=="#11ffff") echo "SELECTED";?> >11ffff ;;<option value="#11aaff" <?PHP if($yanse=="#11aaff") echo "SELECTED";?> >11aaff ;;<option value="#1199ff" <?PHP if($yanse=="#1199ff") echo "SELECTED";?> >1199ff ;;<option value="#1133ff" <?PHP if($yanse=="#1133ff") echo "SELECTED";?> >1133ff </select> ;;;;;;</td> ;;;;;;<td width="55%";;height="22" class="normalfont">發言:;;<input type="text" name="fayan" size=35 > <input type="hidden" name="username" value=<?PHP echo ""$username""?> > ;<input type="Button" name="Button" value="發言" onclick="submitfayan()"> ;;;;;;</td> ;;;;;;<td width="28%";;height="22"> </td> ;;;;</tr> ;;;;<tr>;;;;;;;;<td width="17%" height="20">對象: <input type="text" name="objectname" size=10 value=<?PHP echo ""$objectname"";?> > ;;;;;;</td> ;;;;;;<td width="55%";;height="20" class="normalfont"><a >回去</a> </td> ;;;;;;<td width="28%" height="20" class="normalfont" > </td> ;;;;</tr> ;;</table> </form> </body> <Script language="JavaScript"> <!-- fayanform.fayan.focus() function submitfayan() { if(fayanform.fayan.value!="") ;;;;fayanform.submit() else alert("不能發空信息") fayanform.fayan.focus() } --> </script> </html> <?PHP if(isset($username)&&isset($fayan)){ $conid=mysql_connect("localhost","yourcount","yourpassword"); mysql_select_db("database",$conid); $sql="insert chat (username,objectname,action,msg,color) values ("$username","$objectname","NO","$fayan","$yanse")"mysql_query($sql,$conid); mysql_close($conid); } ?> <!--獲取發言信息getmsg.php--> <html> <head> <title>Untitled Document</title> <meta http-equiv="Content-Type" content="text/html; charset=gb2312"> <?PHP;;$conid=mysql_pconnect("localhost","yourcount","password"); mysql_select_db("database",$conid); if(!isset($username)) ;;;;;$username="getmsg";;;$dt=time();;;;$newdate=date("YmdHis",$dt); $fromdate=date("YmdHis",$dt-6)$sql="select username as name,msg,action,objectname ,shijian,color from chat where shijian>="$fromdate""$res=mysql_query($sql,$conid); echo "<meta http-equiv="Refresh" content="6,url=getmsg.php?username=$username" >n"echo "</head>n"echo "<script language="JavaScript">n"echo "<!--n"echo "var win=parent.frames[0]n"echo "var doc=win.documentn"echo "var divlin=doc.body.all("lin")n"while(list($name,$msg,$action,$objectname,$shijian,$color)=mysql_fetch_row($res)) { if($objectname!="大家"||$objectname) $object="對 <a href=JavaScript:selectusername('$objectname')>$objectname</a> "echo;;"divlin.innerHTML=divlin.innerHTML+"<font color=$color size=3><a href=JavaScript:selectusername('$name')>$name</a> $object 說: $msg </font><br>"n"} echo "win.scrollBy(6000,6000)n"echo "-->n"echo "</script>n"?> <body bgcolor="#333333"> </body> </html> <!--歡迎詞getmsg1.php --> <html> <head> <title>Untitled Document</title> <meta http-equiv="Content-Type" content="text/html; charset=gb2312"> <?PHP;;if(!isset($username)) ;;;;;$username="guest"echo "<meta http-equiv="Refresh" content="6;url=getmsg.php?username=$username" >n"echo "</head>n"echo "<script language="JavaScript">n"echo "<!--hiden"echo "var win=parent.frames[0]n"echo "var doc=win.documentn"echo "var divlin=doc.body.all("lin")n"echo "divlin.innerHTML= "<font color=blue><b>歡迎 $username 的光臨</b></font><br>"n"echo "-->n"echo "</script>n"?> <body bgcolor="#333333"> </body> </html> <!--顯示發言list.html--> <html> <head> <title>Untitled Document</title> <meta http-equiv="Content-Type" content="text/html; charset=gb2312"> <style type="text/css"> <!-- .lin {;;font-size: 10pt; color: #FF6633} --> </style> </head> <body bgcolor="#FFFFFF" > <center> <div color=blue> <font color=white size=6><b> 歡迎光臨</b> </marquee> </div> </center> <div id=lin class="lin"></div> </body> <Script language="JavaScript"> <!-- function selectusername(str) { var win=parent.frames[3] var doc=win.document var form1=doc.body.all("fayanform") form1.objectname.value=str } --> </script> </html> <!--羅列在線人數--> <html> <head> <title>Untitled Document</title> <meta http-equiv="Content-Type" content="text/html; charset=gb2312"> <meta http-equiv="Refresh" content="60"> <style type="text/css"> <!-- .lin {;;font-size: 10pt; color: #ff0066} --> </style> </head> <body bgcolor="#33ff00" > <center class="lin"><b> ;;在線人數 </b> <hr> <?PHP if(!isset($username)) ;;;;$username="guest"$dt=time();;;;$newdate=date("YmdHis",$dt); $fromdate=date("YmdHis",$dt-200); $linkid=mysql_connect("localhost","yourcount","password"); mysql_select_db("yourdatabase",$linkid); $sql="update chat_getmsg set shijian="$newdate" where username="$username"" mysql_query($sql,$linkid); $sql="select username from chat_getmsg where shijian>="$fromdate"" $res=mysql_query($sql,$linkid);;; while(list($username)=mysql_fetch_row($res)){ ;;;;;echo "<a href="JavaScript:selectusername('$username')">$username</a><br>n"$fromdate=date("YmdHis",$dt-100); $sql="delete from chat where shijian<="$fromdate"" mysql_query($sql,$linkid); mysql_close($linkid); } ?> </center> <Script language="JavaScript"> <!-- function selectusername(str) { var win=parent.frames[3] var doc=win.document var form1=doc.body.all("fayanform") form1.objectname.value=str } --> </script> </body> </html> 【本文版權歸作者與奧索網共同擁有,如需轉載,請注明作者及出處】;;;;
標簽: PHP
主站蜘蛛池模板: 高防护蠕动泵-多通道灌装系统-高防护蠕动泵-www.bjhuiyufluid.com慧宇伟业(北京)流体设备有限公司 | 陶瓷砂磨机,盘式砂磨机,棒销式砂磨机-无锡市少宏粉体科技有限公司 | 宽带办理,电信宽带,移动宽带,联通宽带,电信宽带办理,移动宽带办理,联通宽带办理 | 苹果售后维修点查询,苹果iPhone授权售后维修服务中心 – 修果网 拼装地板,悬浮地板厂家,悬浮式拼装运动地板-石家庄博超地板科技有限公司 | 首页-瓜尔胶系列-化工单体系列-油田压裂助剂-瓜尔胶厂家-山东广浦生物科技有限公司 | 欧景装饰设计工程有限公司-无锡欧景装饰官网 | 雨水收集系统厂家-雨水收集利用-模块雨水收集池-徐州博智环保科技有限公司 | 江苏农村商业银行招聘网_2024江苏农商行考试指南_江苏农商行校园招聘 | 矿用履带式平板车|探水钻机|气动架柱式钻机|架柱式液压回转钻机|履带式钻机-启睿探水钻机厂家 | 大型工业风扇_工业大风扇_大吊扇_厂房车间降温-合昌大风扇 | 医疗仪器模块 健康一体机 多参数监护仪 智慧医疗仪器方案定制 血氧监护 心电监护 -朗锐慧康 | 北京浩云律师事务所-企业法律顾问_破产清算等公司法律服务 | 岩石钻裂机-液压凿岩机-劈裂机-挖改钻_湖南烈岩科技有限公司 | 洗瓶机厂家-酒瓶玻璃瓶冲瓶机-瓶子烘干机-封口旋盖压盖打塞机_青州惠联灌装机械 | 【中联邦】增稠剂_增稠粉_水性增稠剂_涂料增稠剂_工业增稠剂生产厂家 | 移动机器人产业联盟官网| 汽车整车综合环境舱_军标砂尘_盐雾试验室试验箱-无锡苏南试验设备有限公司 | 带锯机|木工带锯机圆木推台锯|跑车带锯机|河北茂业机械制造有限公司| | 分光色差仪,测色仪,反透射灯箱,爱色丽分光光度仪,美能达色差仪维修_苏州欣美和仪器有限公司 | NBA直播_NBA直播免费观看直播在线_NBA直播免费高清无插件在线观看-24直播网 | 轴承振动测量仪电箱-轴承测振动仪器-测试仪厂家-杭州居易电气 | 塑料异型材_PVC异型材_封边条生产厂家_PC灯罩_防撞扶手_医院扶手价格_东莞市怡美塑胶制品有限公司 | 除尘布袋_液体过滤袋_针刺毡滤料-杭州辉龙过滤技术有限公司 | 旋振筛|圆形摇摆筛|直线振动筛|滚筒筛|压榨机|河南天众机械设备有限公司 | 废水处理-废气处理-工业废水处理-工业废气处理工程-深圳丰绿环保废气处理公司 | 东莞韩创-专业绝缘骨架|马达塑胶零件|塑胶电机配件|塑封电机骨架厂家 | 磨煤机配件-高铬辊套-高铬衬板-立磨辊套-盐山县宏润电力设备有限公司 | 进口便携式天平,外校_十万分之一分析天平,奥豪斯工业台秤,V2000防水秤-重庆珂偌德科技有限公司(www.crdkj.com) | 冷轧机|两肋冷轧机|扁钢冷轧机|倒立式拉丝机|钢筋拔丝机|收线机-巩义市华瑞重工机械制造有限公司 | 河南正规膏药生产厂家-膏药贴牌-膏药代加工-修康药业集团官网 | 期货软件-专业期货分析软件下载-云智赢| 磁力抛光研磨机_超声波清洗机厂家_去毛刺设备-中锐达数控 | 智慧水务|智慧供排水利信息化|水厂软硬件系统-上海敢创 | 干式变压器厂_干式变压器厂家_scb11/scb13/scb10/scb14/scb18干式变压器生产厂家-山东科锐变压器有限公司 | 武汉画册印刷厂家-企业画册印刷-画册设计印刷制作-宣传画册印刷公司 - 武汉泽雅印刷厂 | 广东风淋室_广东风淋室厂家_广东风淋室价格_广州开源_传递窗_FFU-广州开源净化科技有限公司 | 环氧乙烷灭菌器_压力蒸汽灭菌器_低温等离子过氧化氢灭菌器 _低温蒸汽甲醛灭菌器_清洗工作站_医用干燥柜_灭菌耗材-环氧乙烷灭菌器_脉动真空压力蒸汽灭菌器_低温等离子灭菌设备_河南省三强医疗器械有限责任公司 | 江苏南京多语种翻译-专业翻译公司报价-正规商务翻译机构-南京华彦翻译服务有限公司 | 橡胶膜片,夹布膜片,橡胶隔膜密封,泵阀设备密封膜片-衡水汉丰橡塑科技公司网站 | 拉力测试机|材料拉伸试验机|电子拉力机价格|万能试验机厂家|苏州皖仪实验仪器有限公司 | 橡胶弹簧|复合弹簧|橡胶球|振动筛配件-新乡市永鑫橡胶厂 |