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

2015-01-24信息快讯网
根据许多网友需求,特地把我站的这个模拟 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 用于弹出发送消息的对话窗口,大家可以在网页的源代码里面看到 
基于HTTP长连接的"服务器推"技术的php 简易聊天室
php magic_quotes_gpc的一点认识与分析
EPSON打印机 连供墨水系统 维修有哪些保养窍门第1/2页
修改php.ini实现Mysql导入数据库文件最大限制的修改方法
使用 eAccelerator加速PHP代码的方法
实现php加速的eAccelerator dll支持文件打包下载
用windows下编译过的eAccelerator for PHP 5.1.6实现php加速的使用方法
小结下MySQL中文乱码,phpmyadmin乱码,php乱码 产生原因及其解决方法第1/3页
MySQL数据库转移,access,sql server 转 MySQL 的图文教程
Bo-Blog专用的给Windows服务器的IIS Rewrite程序
wordpress之wp-settings.php
php中ob(Output Buffer 输出缓冲)函数使用方法
关于在php.ini中添加extension=php_mysqli.dll指令的说明
解决php中Cannot send session cache limiter 的问题的方法
理解PHP5中static和const关键字的区别
PHP session常见问题集锦及解决办法总结
mysql4.1以上版本连接时出现Client does not support authentication protocol问题解决办法
Smarty+QUICKFORM小小演示
NOT NULL 和NULL
require(),include(),require_once()和include_once()的异同
php 中include()与require()的对比
模拟OICQ的实现思路和核心程序(三)
PHP自动更新新闻DIY
用php写的serv-u的web申请账号的程序
使用无限生命期Session的方法
使用php+xslt在windows平台上
PHP4在WinXP下IIS和Apache2服务器上的安装实例
PHP模拟SQL Server的两个日期处理函数
一个查看session内容的函数
Windows下PHP的任意文件执行漏洞
在Windows中安装Apache2和PHP4的权威指南
利用文件属性结合Session实现在线人数统计
PHP利用COM对象访问SQLServer、Access
新版mysql+apache+php Linux安装指南
Win2000+Apache+MySql+PHP4+PERL安装使用小结
优化NFR之一 --MSSQL Hello Buffer Overflow
Content-type 的说明
vBulletin Forum 2.3.xx SQL Injection
Quintus因病住院 “锋芝”探子同房共处半小时
三星Galaxy Note 5恐怕是最后一部高价平板手机
©2014-2024 dbsqp.com