欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

[分享] 《魔镜在线》一个在线随机聊天网站源码,该如何处理

程序员文章站 2024-02-17 18:15:46
...
[分享] 《魔镜在线》一个在线随机聊天网站源码
程序使用PHP+MySQL,jQuery实现Ajax,页面布局用的DIV+CSS,并有一个VB写的客户端程序。

原演示地址:http://ask.n9sky.com/MagicMirror/ (现在不能访问了)

现在贴出部分代码:

server.php 主要的操作处理都在这个文件
PHP code
 
$do = @$_GET['do'];
if ('' == $do)
{
exit('Missing Action');
}
require 'config.php';
require 'dll.php';
session_start();
// check session
if ('' == $_SESSION['sid']) exit('登录超时,请关闭重试!');
switch ($do)
{
case 'init':
// check user && update
dll::import('mysql');
$db = new mysql();
$db->connect($dbs['server'], $dbs['user'], $dbs['password']);
$db->database($dbs['database']);
// update
$rs = $db->update(DBPrefix.'user', 'sid="'.$_SESSION['sid'].'"');
$rs->set('client_to', '');
$rs->set('role', RoleOnline);
$rs->set('last_access_time', time());
$rs->setfunc('login_count', 'login_count+1');
$rs->set('last_login_time', time());
$ip = $_SERVER['REMOTE_ADDR'];
$ipx = explode('.', $ip);
$iplong =
$ipx[0] * 16777216 +
$ipx[1] * 65536 +
$ipx[2] * 256 +
$ipx[3];
$rs->set('last_login_ip', $iplong);
if (!$rs->update())
{
// add new
$rs = $db->insert(DBPrefix.'user');
$rs->set('sid', $_SESSION['sid']);
$rs->set('client_to', '');
$rs->set('role', RoleOnline);
$rs->set('last_access_time', time());
$rs->set('login_count', 1);
$rs->set('last_login_time', time());
$rs->set('last_login_ip', $iplong);
$rs->insert();
}
$db->close();
// display init page
display('init.html');
break;
case 'status':
dll::import('mysql');
// access $dbs
global $dbs;
$db = new mysql();
$db->connect($dbs['server'], $dbs['user'], $dbs['password']);
$db->database($dbs['database']);
// update access
update_access($db);
// import mysql.class
display('server.status.html');
$db->close();
break;
case 'work':
$mode = $_GET['mode'];
// update work mode
dll::import('mysql');
$db = new mysql();
$db->connect($dbs['server'], $dbs['user'], $dbs['password']);
$db->database($dbs['database']);
// update
$rs = $db->update(DBPrefix.'user', 'sid="'.$_SESSION['sid'].'"');
switch ($mode)
{
case 'answer':
$rs->set('role', RoleAnswer);
break;
case 'asker':
$rs->set('role', RoleAsker);
break;
case 'chater':
$rs->set('role', RoleChater);
break;
case 'offline':
$rs->set('role', RoleOffline);
$rs->set('client_to', '');
// delete input status cache
@unlink(dirname('.').'/cache/'.$_SESSION['sid'].'.input.status');
// clear session
unset($_SESSION);
break;
}
$rs->set('last_access_time', time());
$rs->update();
$db->close();
// display mode page
if ($mode != 'offline')
{
[分享] 《魔镜在线》一个在线随机聊天网站源码,该如何处理

声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。

相关文章

相关视频