发信人: amw()
整理人: jackyz(2000-08-10 13:50:37), 站内信件
|
// 显示信息部份 m.php<br>
<HTML><br>
<HEAD><br>
<TITLE>Push Chat Room</TITLE><br>
<style type="text/css"><br>
<!--<br>
a.font1 { color: #6666FF;text-decoration:none }<br>
a.font1:hover { color: #000000;text-decoration:none;background-color:# E0EFD0 }<br>
--><br>
</style><br>
</HEAD><br>
<BODY bgcolor="#FFFFFF"><br>
<p><br>
<SCRIPT LANGUAGE="JavaScript"><br>
<!--<br>
function sayto(s) {<br>
this.scroll(0,65000);<br>
document.write(s+'<br><br>');<br>
}<br>
//--><br>
</SCRIPT><br>
很高兴大家能到这里来, 这还是很原始的程序,请不要见笑。 </p><br>
<p>Support by Amw. </p><br>
<P><br>
<?
<p>$shm_id=shm_attach($room);<br>
$shm_var=$room;<br>
session_start();</p>
<p><br>
$old_n=0;<br>
flush();</p>
<p>$i=0;<br>
while($i<3) {<br>
sleep(1);</p>
<p> $array=@shm_get_var($shm_id,$shm_var);</p>
<p> if(is_array($array)) {</p>
<p><br>
$end=$array['end'];<br>
$start=$array['start'];<br>
if($old_n>$end) {<br>
$old_n=$start;<br>
}</p>
<p> if($end>$old_n) {<br>
<br>
if($start>$old_n) { $old_n=$start; }</p>
<p> for($j=$old_n+1;$j<=$end;$j++) {</p>
<p> // list($from,$sayto,$say,$action)=each($array[$j]);<br>
$from=$array[$j]['from'];<br>
$sayto=$array[$j]['sayto'];<br>
$say=$array[$j]['say'];<br>
$action=$array[$j]['action'];<br>
$hidden=$array[$j]['hidden'];</p>
<p> if($from==$user_name) {<br>
$color='#000000';<br>
} elseif( $sayto==$user_name ) {<br>
$color='#993366';<br>
} else {<br>
$color='#000000';<br>
}<br>
</p>
<p> if( ($from==$user_name) || ($hidden && ($sayto==$user_name )) || !$hidden)
{<br>
$s="<font color=#6666FF>".$from.<br>
"</font>对<a href=javascript:parent.cs(\'$sayto\'); cl ass=font1
target=bottom title=$sayto>"<br>
."$sayto</a>$action: <font color=$color>$say</fo nt>";<br>
// $s=htmlspecialchars($array[$j]);<br>
echo "<SCRIPT Language=\"javascript1.1\">sayto( '$s');</SCRIPT>\n";<br>
}</p>
<p> }<br>
$old_n=$end;<br>
flush();<br>
}<br>
}<br>
#$i++;</p>
<p>}</p>
<p>?><br>
</body><br>
</html></p>
<p>// 提交部份<br>
<html><br>
<body onLoad="form1.say.focus();" bgcolor="#EFF5FE "><br>
<form name="form1"><br>
<table width="100%" border="0" cellspacing=&q uot;0"
cellpadding="0"><br>
<tr><br>
<td width="75%">对象 <?<br>
include ('../mylib.inc');</p>
<p> session_start();<br>
validuser($user_name);</p>
<p>$shm_id=shm_attach($room);<br>
$shm_var=$room;<br>
$shm_userlist=12;</p>
<p>if($clearbtn) {<br>
shm_remove_var($shm_id,$shm_var);<br>
} <br>
elseif($say) {<br>
$s=@shm_get_var($shm_id,$shm_var);<br>
if(!is_array($s)) { <br>
$s=array('start'=>1,'end'=>0,'count'=>0);<br>
}</p>
<p>$end=$s['end']+1; <br>
$start=$s['start'];<br>
$count=$s['count'];<br>
if($end-$start>=10) {<br>
unset($s[$start]);<br>
$s['start']=$start+1;<br>
}</p>
<p>//$s[$end]="<font color=#6666FF>".$user_name.<br>
// "</font>对<a href=javascript:parent.cs(\'$sayto\'); class=font1
target=bottom title=$sayto>"<br>
// .$sayto."</a>$action: ".$say;</p>
<p>$s[$end]=array( 'from'=>$user_name,<br>
'sayto'=>$sayto,<br>
'say'=>$say,<br>
'action'=>$action,<br>
'hidden'=>$hidden);</p>
<p>$s['end']=$end;<br>
$s['count']=$count+1;</p>
<p>shm_put_var($shm_id,$shm_var,$s);<br>
#$s=array("Hello","sdf");<br>
}</p>
<p>$ul=@shm_get_var($shm_id,$shm_userlist);<br>
if(!is_array($ul)) {<br>
$ul=array();<br>
}<br>
if(! $ul["$user_name"] ) { <br>
$ul["$user_name"]=1;<br>
shm_put_var($shm_id,$shm_userlist,$ul);<br>
}<br>
<br>
$defs=($sayto=="所有人") ? "selected":"&quo t;;<br>
echo " <select name=\"sayto\"><br>
<option $defs>所有人</option>";<br>
while( list($key,$val)=each($ul) ) {<br>
$defs=($sayto==$key) ? "selected":"";<br>
echo "<option $defs>$key</option>";<br>
}<br>
echo "</select>";</p>
<p>?> 动作 <br>
<select name="action" title="各种聊天动作和表情选择 ,您也可以在信息输入框中直接使用各种EMOTE。"
><br>
<option value="说">说话 <br>
<option value="叫嚷">叫嚷 <br>
<option value="亲亲">亲亲 <br>
<option value="拥抱">拥抱 <br>
<option value="暴怒">暴怒 <br>
<option value="眨眼">眨眼 <br>
<option value="轻推">轻推 <br>
<option value="点头">点头 <br>
<option value="询问">询问 <br>
<option value="傻笑">傻笑 <br>
<option value="拳打">拳打 <br>
<option value="脚踢">脚踢 <br>
<option value="告诫">告诫 <br>
<option value="耳光">耳光 <br>
<option value="鞠躬">鞠躬 <br>
<option value="歉意">歉意 <br>
<option value="同意">同意 <br>
<option value="惊讶">惊讶 <br>
<option value="摇头">摇头 <br>
<option value="哈欠">哈欠 <br>
<option value="微笑">微笑 <br>
<option value="握手">握手 <br>
<option value="挥手">挥手 <br>
<option value="耸肩">耸肩 <br>
<option value="大哭">大哭 <br>
<option value="抽泣">抽泣 <br>
<option value="安慰">安慰 <br>
<option value="生气">生气 <br>
<option value="承诺">承诺 <br>
<option value="不舍">不舍 <br>
<option value="深情">深情 <br>
<option value="迷惑">迷惑 <br>
<option value="耳语">耳语 <br>
</select><br>
悄悄话 <br>
<input type="checkbox" name="hidden" value=&q uot;1"
<? if($hidden){ echo "checked";}?> ><br>
图音 <br>
<input type="checkbox" name="can_html" value= "1"><br>
<br><br>
信息 <br>
<input type="text" name="say" size="50&q uot;><br>
<input type="submit" name="submit" value=&quo t;发送"><br>
<br><br>
<input type="submit" name="Submit2" value=&qu ot;刷新"
<br>
onClick="javascript:parent.saylist.location.reload();"> <br>
<!-- <input type="submit" name="clearbtn" value="清除">
--><br>
<input type="submit" name="Submit" value=&quo t;离开"><br>
<input type="hidden" name="room" value=<? echo $room;?>
><br>
</td><br>
<td width="25%"> <br>
<div align="center"><a href="http://book.new zhongshan.com"
target="_blank">新城书店</a> <br>
<br><br>
<a href="http://www.newzhongshan.com/edu/" target=" ;_blank">新城教育</a>
<br>
<br><br>
<a href="http://www.newzhongshan.com" target="_bla nk">最新消费信息</a>
</div><br>
</td><br>
</tr><br>
</table><br>
</form><br>
</body><br>
</html></p>
<p>// 完</p>
<p>实例可以在 http://202.96.189.113/pcb/ 里,最好先注册。</p>
<p>另外,在现实过程中,用户列表的实时更新是个大问题,大家有什么好方法? <br>
希望大家能提宝贵意见。 </p>
-- Operation:I like Windows 98
Server :I like Linux
Program:I like C
Game :I like StarCraft
Girl :I like Kathy
Web :http://amwhuang.yeah.net http://www.newzhongshan.com
※ 来源:.月光软件站 http://www.moon-soft.com.[FROM: 202.96.189.17]
|
|