发信人: 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]
  | 
 
 
 |