用PHP+MySql编写聊天室

2016-01-29 14:24 4 1 收藏

用PHP+MySql编写聊天室,用PHP+MySql编写聊天室

【 tulaoshi.com - PHP 】

  大家好!好久没有看到大家了,上次写了用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
<titleUntitled 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="http://img.jcwcn.com/attachment/portal"

来源:http://www.tulaoshi.com/n/20160129/1493202.html

延伸阅读
标签: Web开发
第四个页面 name="index.php" ? include "../signup/mysql.php"; header("Expires: Sun, 28 Dec 1997 09:32:45 GMT"); header("Cache-Control: no-cache, must-revalidate"); header("Pragma: no-cache"); header("Content-Type: text/html; charset=${Charset}"); ? h...
标签: Web开发
第三个页面 name="frame3.php" ? include "../signup/mysql.php"; //echo $userid; //echo $private; if($p)$p=1; else $p=0; if(($action="ok")and($p)){ $sql="select userid,id from chat_user_list where userid='$userid'"; $result=mysql_query($sql); $roww=mysql_fetch_array($r...
标签: Web开发
//第二页面 name="frame2.php" ? include "../signup/mysql.php"; header("Expires: Sun, 28 Dec 1997 09:32:45 GMT"); header("Cache-Control: no-cache, must-revalidate"); header("Pragma: no-cache"); header("Content-Type: text/html; charset=${Charset}"); ...
标签: PHP
  PHP聊天室技术 黄国辉 1.前言   上网聊天是时下最流行的交友方式。各大网站推出的聊天室都各具特色。   聊天室主要分为WebChat、BBSChat两种。BBSChat是基于Telnet的Tcp协议,是BBS的附设功能,需要客户端Telnet程序。WebChat则采用浏览器方式,实际上是一个多人共同使用的CGI程序。其基本原理是把每个用户的...
标签: PHP
  chtcont.php3: 代码如下: <?php         $sCont="";         $ConnID=@odbc_connect("jtfcht","admin","");         if ($ConnID){    &...

经验教程

918

收藏

83
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部