📄 index.php
字号:
<?php
if(file_exists("include/connect.php"))
{
if(file_exists("setup"))
{
echo "请删除 setup 目录。";
exit;
}
}
else
{
header("location:setup/index.php?step=0");
exit;
}
session_start();
include "include/query.php";
include "include/functions.php";
if(!getConfig("chatroom_is_closed"))
{
header("location:notice.php?id=".chatroom_closed);
exit;
}
timer();
$db = new db_query;
$db->connect();
//这里也加上自动清除用户的代码
$leaveTime = 60; //每一分钟清除一次用户
$clearTime = time()-60;
$microtime = explode(" ",microtime());
$microtime = $microtime[0]+$microtime[1];
if(($microtime-$db->result($db->query("select `value` from `config` where `name` = 'check_online'"),0,"value"))>$leaveTime)
{
$db->query("update `config` set `value` = '".$microtime."' where `name` = 'check_online'");
$clearResult = $db->query("select `username`,`roomid` from `onlinelist` where `activetime` < {$clearTime}");
if($clearTotalRows = $db->numrows($clearResult))
{
while($clearRow = $db->fetchArray($clearResult))
{
$db->query("delete from `onlinelist` where `username` = '{$clearRow["username"]}'");
if($db->affectedrows())
{
$message = array("private"=>"","event"=>"","from_user"=>"","type"=>"","roomid"=>"","content"=>"","to_user"=>"","title"=>"","namecolor"=>"","saycolor"=>"","face"=>"");
$message["event"] = msg_leave;
$message["from_user"] = $clearRow["username"];
$message["type"] = type_system;
$message["roomid"] = $clearRow["roomid"];
addMessage($message,$db);
}
}
}
}
//清除代码结束
$roomResult = $db->query("select * from `rooms` where `inuse` =1");
$totalRooms = $db->result($db->query("select count(*) from rooms"),0,"count(*)");
?>
<html>
<!--
北雨聊天室 baysoft chatV1.5
电邮:beiyu456@163.com
OICQ: 362651878
主页: http://www.yq316.com
-->
<META http-equiv="Content-Type" content="text/html;charset=gb2312">
<head>
<meta name="keyword" content="聊天,baysoft,chat">
<title>
<?=getConfig("chatroom_name")?> -- 登陆页面
</title>
<link rel="stylesheet" type="text/css" href="styles/index.css">
</head>
<body bgcolor="<?=getConfig("page_bgcolor")?>">
<br>
<br>
<br>
<script language=javascript>
var password_min_length = <?=getConfig("password_min_length")?>;
function checkForm(fm)
{
try
{
var x = new ActiveXObject("Microsoft.XMLHTTP");
}
catch(e)
{
alert("对不起,您的浏览器不支持微软的XMLHTTP组件!");
return false;
}
if(fm.username.value=="")
{
alert("请填写用户名!");
fm.username.focus();
return false;
}
if(fm.password.value==""&&!password_min_length)
{
if(confirm("您没有设置密码,用户名谁都可用,您确定吗?"))
{
return true;
}
else
{
fm.password.focus();
return false;
}
}
if((fm.password.value.length<password_min_length)&&password_min_length)
{
alert("最小密码长度为 "+password_min_length+" 位!");
return false;
}
return true;
}
var rooms = new Array();
var roomsID = new Array();
var onlines = new Array();
<?php
while($roomRow = $db->fetchArray($roomResult))
{
$onlineResult = $db->query("select `username` from `onlinelist` where `roomid` = '{$roomRow["id"]}'");
echo "rooms[rooms.length] = '{$roomRow["room_name"]}';\n";
echo "roomsID[roomsID.length] = {$roomRow["id"]};\n";
$onlineLen = $db->numrows($onlineResult);
echo "onlines[onlines.length] = '";
$i = 0;
while($onlineRow = $db->fetchArray($onlineResult))
{
$i++;
echo "{$onlineRow["username"]}";
if($onlineLen!=$i)
{
echo ",";
}
}
echo "';\n";
}
?>
var tmp = 1;
function writeRoom()
{
var str = "";
for(var i=0;i<rooms.length;i++)
{
str += "<input type=radio name='chatroom' value='"+roomsID[i]+"' ";
if(i==0)
{
str += " checked>";
}
else
{
str += ">";
}
var onlineNumber;
if(onlines[i]=="")
{
onlineNumber = 0;
}
else
{
onlineNumber = onlines[i].split(",").length;
}
str += "<a href='javascript:viewOnlines("+i+")' title='查看在线名单'>"+rooms[i]+"</a>" + "("+onlineNumber+") ";
if(!(tmp%5))
{
str += "<br>";
}
tmp++;
}
document.write(str);
}
function viewOnlines(index)
{
var onlineStr = onlines[index];
var result;
var members;
if(onlineStr=="")
{
result = "没有在线人员。";
}
else
{
members = onlineStr.split(",");
result = "在线名单("+members.length+")\n\n";
for(var i=0;i<members.length;i++)
{
result += members[i] +"\n";
}
}
alert(result);
}
</script>
<table width=750 class="messagebox" height=200 cellspacing=0 cellpadding=0>
<tr>
<td class="messagetitle">
<?=getConfig("chatroom_name")?>
</td>
</tr>
<tr>
<td class="messagebody">
<br>
<?=getConfig("loginpage_affiche")?><br><br>
<a href="member.php?mode=taxis&page=1" target="_blank">聊天英雄榜</a> | <a href="help.php?mode=func" target="_blank">功能说明</a> | <a href="help.php?mode=config" target="_blank">配置信息</a> | <a href="guestbook.php?page=1" target="_blank">聊友留言</a>
<form name="loginForm" action="member.php?mode=login" method="post" onsubmit="return checkForm(this)">
用户名<input type="text" name="username" maxlength=20 value="<?echo $_COOKIE['NickName'];?>">
密码<input type="password" name="password" maxlength=26>
<?php
if(getConfig("img_verify")==1)
{
?>
验证码<input type="text" name="verify" maxlength=10 size=6> <img src="verify.php" height=20>
<?php
}
?>
性别<select name="gender">
<option value=0>秘密
<option value=1>男孩
<option value=2>女孩
</select>
<input type="submit" value="登录"><br>
<br>
房间列表(<font color="blue"><?=$totalRooms?></font>)在线人数(<font color="blue"><?=$db->result($db->query("select count(*) from `onlinelist`"),0,"count(*)")?></font>)<br>
<script language=javascript>writeRoom()</script>
</form>
无须注册,直接输入密码跟用户名即可。
<br>
<br>
聊天室最高在线人数 <font color="blue"><?=getConfig("top_online_record")?></font> 人,发生时刻 <font color="blue"><?=getConfig("top_online_record_time")?></font> ,由于 <font color="blue"><?=getConfig("top_online_record_user")?></font> 的登录。
<br><br>
</td>
</tr>
</table>
<br>
<iframe src="visit.php" width=160 height=20 align="center" frameborder=no scrolling=no></iframe>
</body>
</html>
<?php
$db->close();
?>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -