模拟OICQ的实现思路和核心程序(一)

根据许多网友需求,特地把我站的这个模拟 OICQ 的在线聊天的东西献给大家!

1 用户必须注册登陆,在数据库 userinfo 里面保存如下几个字段
Name 不用问了,这是登陆用的用户名,必须唯一
Password 登陆密码
NickName 用户昵称,也就是显示的名字
Face 存放着用户头像的编号,比如 01,代表 /images/face/01.gif 头像文件
OnlineStatus 用户是否在线的标志,在用户登陆的时候设置为 1
CurrentDate 用户最后访问/更新的时间,用于判断用户是否在线

聊天纪录 forumtalk 的结构为
CREATE TABLE forumtalk (
id int(11) NOT NULL auto_increment,
sender varchar(20) NOT NULL,
receiver varchar(20) NOT NULL,
date int(11) DEFAULT '0' NOT NULL,
readsign tinyint(4) DEFAULT '0' NOT NULL,
body varchar(200) NOT NULL,
PRIMARY KEY (id),
UNIQUE id_2 (id),
KEY id (id)
);
其中 sender 是发送人的 Name
receiver 是接受人的 Name
date 是发言的时间
readsign 发言是否已经阅读过
body 发言内容

2 显示在线用户的头像
<?
$onlineresult = mysql_query("select Name,NickName,Face,EnterTimes from userinfo where OnlineStatus=1 and CurrentDate >".(date("U")-120));
$onlinenumber = mysql_num_rows($onlineresult);
echo "欢迎光临,共有:".$onlinenumber."位朋友在线,按头像发短信息:";
for($i=0;$i<$onlinenumber;$i++)
{
if(!$onlineuser = mysql_fetch_array($onlineresult))break;
echo "<a onClick=MM_openBrWindow('shortalk.php?talkto=".$onlineuser['Name']."','".$onlineuser['Name']."','width=300,height=250')><img src='images/face/".$onlineuser['Face'].".gif' width=20 height=20 ";
if($name == $onlineuser['Name'])echo "border=1 ";
echo " title='代号:".$onlineuser['Name']."\n昵称:".$onlineuser['NickName']."\n来访:".$onlineuser['EnterTimes']."'></a>";
}
?>

其中的 onClick 用于弹出发送消息的对话窗口,大家可以在网页的源代码里面看到

(0)

相关推荐

  • 模拟OICQ的实现思路和核心程序(一)

    根据许多网友需求,特地把我站的这个模拟 OICQ 的在线聊天的东西献给大家! 1 用户必须注册登陆,在数据库 userinfo 里面保存如下几个字段Name 不用问了,这是登陆用的用户名,必须唯一Password 登陆密码NickName 用户昵称,也就是显示的名字Face 存放着用户头像的编号,比如 01,代表 /images/face/01.gif 头像文件OnlineStatus 用户是否在线的标志,在用户登陆的时候设置为 1CurrentDate 用户最后访问/更新的时间,用于判断用户是

  • 模拟OICQ的实现思路和核心程序(三)

    5 聊天信息的发送.阅读和回复程序 - shortalk.php <?require("require.php"); // 判断用户是否合法在线的公用程序?><html><head><title>短信息</title><meta http-equiv="Content-Type" content="text/html; charset=gb2312"><style ty

  • 模拟OICQ的实现思路和核心程序(二)

    3 在线用户的信息扫描和更新在网页中使用内置框架来调用扫描和更新程序,这行也能在网页源代码里面看到!<iframe name=flush src="userflush.php" width="0" height="0" frameborder="0" scrolling="NO" marginwidth="0" marginheight="0" hspace=&

  • python批量同步web服务器代码核心程序

    #!/usr/bin/env python #coding:utf8 import os,sys import md5,tab from mysql_co.my_db import set_mysql from ssh_co.ssh_connect import sshd from ssh_co.cfg.config import ssh_message,item_path from file import findfile def my_mysql(): db_file={} my_conne

  • php后台多用户权限组思路与实现程序代码分享

    adminconfig.php 这是后台系统中所有文件权限配置. fun.php 这是一个功能函数 left.php 网站后台根据用户登录的ID来加载相对应的功能菜单 op.php 调用adminconfig.php 默认权限文件 opsava.php 保存用户权限成一个php文件 好了我们先来看看 fun.php文件吧. 复制代码 代码如下: <? function findsub($keys ,$userid='abc' ) //此函数重要就是为了调用用户的权限信息 { include('u

  • 收藏的一个php小偷的核心程序

    <?  ob_start();  ob_implicit_flush(0);<a id="more-27"></a>  function CheckCanGzip(){  global $HTTP_ACCEPT_ENCODING;  if (headers_sent() || connection_timeout() || connection_aborted()){  return 0;  }  if (strpos($HTTP_ACCEPT_ENCOD

  • jQuery数据缓存功能的实现思路及简单模拟

    前言 对于jQuery的数据缓存,相信大家都不会陌生,jQuery缓存系统不仅运用于DOM元素,动画.事件等都有用到这个缓存系统.所以在平时实际应用中, 我们经常需要给元素缓存一些数据,并且这些数据往往和DOM元素紧密相关.由于DOM元素(节点)也是对象, 所以我们可以直接扩展DOM元素的属性,但是如果给DOM元素添加自定义的属性和过多的数据可能会引起内存泄漏,所以应该要尽量避免这样做. 因此更好的解决方法是使用一种低耦合的方式让DOM和缓存数据能够联系起来. 另外:对于jQuery.data和

  • 微信小程序iBeacon测距及稳定程序的实现解析

    前言 iBeacon是苹果公司推出的一项低耗能蓝牙技术,由蓝牙设备发射包含指定信息的信号,再由移动设备接收信号,从而实现近场通信.微信小程序2017年开始支持iBeacon,摇一摇附近就是基于iBeacon实现的,此外iBeacon还可以实现距离测量,本文将介绍如何基于微信小程序实现iBeacon测距. iBeacon测距原理 蓝牙信标发射的信号强度(rssi)与收发设备之间的距离,某种程度上呈正相关,因此通过合理的运算转化,可以通过rssi的值反推出与接收设备间的距离. 蓝牙信标的rssi值是

  • C#程序员统计自己的代码行数

    很多程序员都以自己写的代码的行数作为自己程序员阅历的一个标志,如何统计呢,以下是具体内容. 小编,已经快学了两年编程了.昨天突发奇想,想统计下这些年到底写过多少行代码,于是做了一个这个小程序来统计代码行数.老规矩,先上图. 比较惭愧,写了两年只有2万多行.那我们还是进入下一项吧. 界面搭建我也不说了,我就讲一下思路和核心代码,最后附上源代码.Life_Programmer.Serch_Files. 思路:我们点击刷新按钮,他会弹出一个小窗口让我们选择要搜索的区域.这个原理在我的C#游戏进程杀手的

  • 微信小程序实现团购或秒杀批量倒计时

    本文实例为大家分享了微信小程序实现批量倒计时的具体代码,供大家参考,具体内容如下 效果图 实现思路 微信小程序实现倒计时,可以将倒计时的时间进行每一秒的计算和渲染! JS 模拟商品列表数据 goodsList: 在 onLoad 周期函数中对活动结束时间进行提取: 建立时间格式化函数 timeFormat: 建立倒计时函数 countDown: 在 onLoad 周期函数的提取结尾执行倒计时函数 countDown. 倒计时函数详解 获取当前时间,同时得到活动结束时间数组: 循环活动结束时间数组

随机推荐