很简单的,数据库加个表,有发送者id,接受者id,一个状态字段(0表示未读,1表示读过)。
网页上加个隐藏帧,几秒钟刷新一次,从数据库读这个表,有接收者id为本人id且状态字段为0的,就弹出个消息框,然后八状态字段设为1。这是最简单的,可以进一步细作
网页上加个隐藏帧,几秒钟刷新一次,从数据库读这个表,有接收者id为本人id且状态字段为0的,就弹出个消息框,然后八状态字段设为1。这是最简单的,可以进一步细作
调试欢乐多
会不会有闪动效果.怎样使其看不到闪动效果.
CREATE TABLE web_message (
msg_id bigint(20) NOT NULL auto_increment,
msg_from varchar(60) NOT NULL,
msg_to varchar(60) NOT NULL,
msg_body text,
msg_state tinyint(4) DEFAULT '0' NOT NULL,
msg_date bigint(20),
PRIMARY KEY (msg_id)
);
字段应该很好理解的吧?到时候在线用户的那个隐藏帧不断刷新察看smg_to等于自己id并且msg_state=0的纪录就跳出框来就行了,代码如下:(部分)<meta http-equiv="refresh" content="10">
<? //读数据库,按照先后顺序一条条发
$result=mysql_db_query($dbname,"select * from $web_message where msg_to='$usr' and msg_state=0 order by msg_date limit 1");
if($myarray=mysql_fetch_array($result))
{
echo "<SCRIPT language=javascript>";
echo "window.open('havemessage.php?msg_id=".$myarray[msg_id]."','SMS','toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=no,width=300,height=150,top=0,left=0');";
echo "</SCRIPT>";
}?>havemessage.php是把那条记录读出给用户,用户可以回复信息等等……(这个不用我写了吧?呵呵)
发的表格
<body bgcolor="#F3D196">
<table width="90%" border="0" align="center">
<tr>
<form action="sentmessage.php" method="post">
<td height="104" valign="top"><p align="center">
<input type="input" name="toid" />
<textarea name="msg_body" cols="30" rows="5" id="msg_body"></textarea>
<br>
<input type="submit" name="Submit" value="发送">
</p>
</td>
</tr>
</table>
sentmessage.php(部分);
<?
$result=mysql_db_query($dbname,"insert $web_message (msg_from,msg_to,msg_body,msg_date) values('$usr','$toid','$msg_body','".time()."')");
?>发送者的id即$usr是用户登陆时候记在session中的总之原理就是这样,然后其中的细节要看你怎么用然后在编写了
<script language="JavaScript">
setTimeout("reld()",5000);
function reld(){
window.location.reload();
}
</script>
放在隐藏针中,效果绝对保你满意,要是真想实现真正的无刷新需要用XML的功能刚做过一个这样的网页,但我用的是ASP.NET,总结,application还是很有用的。
[email protected]
谢了
定时用xmlhttp获取数据,其实也是“刷新”用push吗
由于目前ie不支持此技术,所以谈论的人很少。况且他产生一个连续的通道从资源利用和安全上讲是否值得?
定时用xmlhttp获取数据,其实也是“刷新”用push吗
由于目前ie不支持此技术,所以谈论的人很少。况且他产生一个连续的通道从资源利用和安全上讲是否值得?
[email protected],如果你有MSN,能否加入我,以后可以更方便地请教你了!
能否将你的那程序代码共享给我吗!让我仔细研究学习!([email protected])因为我也是初学PHP。连session都不会用呢!