[分享] 《魔镜在线》一个在线随机聊天网站源码,该如何处理
[分享] 《魔镜在线》一个在线随机聊天网站源码
程序使用PHP+MySQL,jQuery实现Ajax,页面布局用的DIV+CSS,并有一个VB写的客户端程序。
原演示地址:http://ask.n9sky.com/MagicMirror/ (现在不能访问了)
现在贴出部分代码:
server.php 主要的操作处理都在这个文件
- PHP code
<br> <?php <br /> $do = @$_GET['do']; <br> if ('' == $do) <br> { <br> exit('Missing Action'); <br> } <br> require 'config.php'; <br> require 'dll.php'; <br> session_start(); <br> // check session <br> if ('' == $_SESSION['sid']) exit('登录超时,请关闭重试!'); <br> switch ($do) <br> { <br> case 'init': <br> // check user && update <br> dll::import('mysql'); <br> $db = new mysql(); <br> $db->connect($dbs['server'], $dbs['user'], $dbs['password']); <br> $db->database($dbs['database']); <br> // update <br> $rs = $db->update(DBPrefix.'user', 'sid="'.$_SESSION['sid'].'"'); <br> $rs->set('client_to', ''); <br> $rs->set('role', RoleOnline); <br> $rs->set('last_access_time', time()); <br> $rs->setfunc('login_count', 'login_count+1'); <br> $rs->set('last_login_time', time()); <br> $ip = $_SERVER['REMOTE_ADDR']; <br> $ipx = explode('.', $ip); <br> $iplong = <br> $ipx[0] * 16777216 + <br> $ipx[1] * 65536 + <br> $ipx[2] * 256 + <br> $ipx[3]; <br> $rs->set('last_login_ip', $iplong); <br> if (!$rs->update()) <br> { <br> // add new <br> $rs = $db->insert(DBPrefix.'user'); <br> $rs->set('sid', $_SESSION['sid']); <br> $rs->set('client_to', ''); <br> $rs->set('role', RoleOnline); <br> $rs->set('last_access_time', time()); <br> $rs->set('login_count', 1); <br> $rs->set('last_login_time', time()); <br> $rs->set('last_login_ip', $iplong); <br> $rs->insert(); <br> } <br> $db->close(); <br> // display init page <br> display('init.html'); <br> break; <br> case 'status': <br> dll::import('mysql'); <br> // access $dbs <br> global $dbs; <br> $db = new mysql(); <br> $db->connect($dbs['server'], $dbs['user'], $dbs['password']); <br> $db->database($dbs['database']); <br> // update access <br> update_access($db); <br> // import mysql.class <br> display('server.status.html'); <br> $db->close(); <br> break; <br> case 'work': <br> $mode = $_GET['mode']; <br> // update work mode <br> dll::import('mysql'); <br> $db = new mysql(); <br> $db->connect($dbs['server'], $dbs['user'], $dbs['password']); <br> $db->database($dbs['database']); <br> // update <br> $rs = $db->update(DBPrefix.'user', 'sid="'.$_SESSION['sid'].'"'); <br> switch ($mode) <br> { <br> case 'answer': <br> $rs->set('role', RoleAnswer); <br> break; <br> case 'asker': <br> $rs->set('role', RoleAsker); <br> break; <br> case 'chater': <br> $rs->set('role', RoleChater); <br> break; <br> case 'offline': <br> $rs->set('role', RoleOffline); <br> $rs->set('client_to', ''); <br> // delete input status cache <br> @unlink(dirname('.').'/cache/'.$_SESSION['sid'].'.input.status'); <br> // clear session <br> unset($_SESSION); <br> break; <br> } <br> $rs->set('last_access_time', time()); <br> $rs->update(); <br> $db->close(); <br> // display mode page <br> if ($mode != 'offline') <br> {<div class="clear"> </div>

热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

Video Face Swap
使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热门文章

热工具

记事本++7.3.1
好用且免费的代码编辑器

SublimeText3汉化版
中文版,非常好用

禅工作室 13.0.1
功能强大的PHP集成开发环境

Dreamweaver CS6
视觉化网页开发工具

SublimeText3 Mac版
神级代码编辑软件(SublimeText3)

许多用户在选择智能手表的时候都会选择的华为的品牌,其中华为GT3pro和GT4都是非常热门的选择,不少用户都很好奇华为GT3pro和GT4有什么区别,下面就就给大家介绍一下二者。华为GT3pro和GT4有什么区别一、外观GT4:46mm和41mm,材质是玻璃表镜+不锈钢机身+高分纤维后壳。GT3pro:46.6mm和42.9mm,材质是蓝宝石玻璃表镜+钛金属机身/陶瓷机身+陶瓷后壳二、健康GT4:采用最新的华为Truseen5.5+算法,结果会更加的精准。GT3pro:多了ECG心电图和血管及安

MyBatis动态SQL标签解读:Set标签用法详解MyBatis是一个优秀的持久层框架,它提供了丰富的动态SQL标签,可以灵活地构建数据库操作语句。其中,Set标签是用于生成UPDATE语句中SET子句的标签,在更新操作中非常常用。本文将详细解读MyBatis中Set标签的用法,以及通过具体的代码示例来演示其功能。什么是Set标签Set标签用于MyBati

session失效通常是由于 session 的生存时间过期或者服务器关闭导致的。其解决办法:1、延长session的生存时间;2、使用持久化存储;3、使用cookie;4、异步更新session;5、使用会话管理中间件。

PHPSession跨域问题的解决方法在前后端分离的开发中,跨域请求已成为常态。在处理跨域问题时,我们通常会涉及到session的使用和管理。然而,由于浏览器的同源策略限制,跨域情况下默认情况下无法共享session。为了解决这个问题,我们需要采用一些技巧和方法来实现session的跨域共享。一、使用cookie跨域共享session最常

1.基于session实现短信登录1.1短信登录流程图1.2实现发送短信验证码前端请求说明:说明请求方式POST请求路径/user/code请求参数phone(电话号码)返回值无后端接口实现:@Slf4j@ServicepublicclassUserServiceImplextendsServiceImplimplementsIUserService{@OverridepublicResultsendCode(Stringphone,HttpSessionsession){//1.校验手机号if

为什么截图工具在Windows11上不起作用了解问题的根本原因有助于找到正确的解决方案。以下是截图工具可能无法正常工作的主要原因:对焦助手已打开:这可以防止截图工具打开。应用程序损坏:如果截图工具在启动时崩溃,则可能已损坏。过时的图形驱动程序:不兼容的驱动程序可能会干扰截图工具。来自其他应用程序的干扰:其他正在运行的应用程序可能与截图工具冲突。证书已过期:升级过程中的错误可能会导致此issu简单的解决方案这些适合大多数用户,不需要任何特殊的技术知识。1.更新窗口和Microsoft应用商店应用程

经过多次预发布后,KDE Plasma 开发团队于 2 月 28 日推出了适用于 Linux 和 BSD 系统的 6.0 版桌面环境,首次使用 Qt6 框架。 KDE Plasma 6.1 现在附带了许多新功能

JavaScriptCookie使用JavaScriptcookie是记住和跟踪偏好、购买、佣金和其他信息的最有效方法。更好的访问者体验或网站统计所需的信息。PHPCookieCookie是存储在客户端计算机上的文本文件并保留它们用于跟踪目的。PHP透明地支持HTTPcookie。JavaScriptcookie如何工作?您的服务器将一些数据发送到访问者的浏览器cookie的形式。浏览器可以接受cookie。如果存在,它将作为纯文本记录存储在访问者的硬盘上。现在,当访问者到达站点上的另一个页面时
