<?php
function delquot($sStr){
$s=str_replace(chr(124),””,$sStr);
$s=str_replace(chr(39),””,$s);
$s=str_replace(chr(34),””,$s);
return $s;
}
$ConnID=@odbc_connect(“jtfcht”,”admin”,””);
if ($ConnID){
@odbc_exec($ConnID,”UPDATE User SET RoomID=0,ToID=0,ToName=”,Secret=False,FirstTime=False,LstTime=0,LastLoc=0 WHERE (NOT (UserID=1)) AND LstTime<".(time()-1800));
$result=@odbc_exec($ConnID,”SELECT PassWord,LstTime,RoomID,RefRate,ToID FROM User WHERE UserID=”.$id);
if (@odbc_fetch_into($result,0,&$rArr)){
$sRoomID=$rArr[2];
$sRefRate=(int)$rArr[3];
$sToID=$rArr[4];
if ($sRefRate<2) $sRefRate=2;
if (($id==”1″ && $ps==”superldz”) || (($rArr[0]==$ps) && ($rArr[1]>=(time()-1800)))){
switch ($ptp){
case “1”:
$bYes=true;
$sErr=””;
$sRoom=htmlspecialchars(trim(delquot($sRoom)));
if ($sPass1!=$sPass2){
$bYes=false;
$sErr=”您的口令输入的不正确”;
}
if ($sRoom==”大厅”){
$bYes=false;
$sErr=”你烦死了,都告诉你不能叫“大厅”了”;
}
if ($bYes){
$sPass1=delquot($sPass1);
@odbc_exec($ConnID,”INSERT INTO Room (RoomName, MasterID, Password) VALUES (‘”.$sRoom.”‘, “.$id.”, ‘”.$sPass1.”‘)”);
if ($php_errormsg==”SQL error: [Microsoft][ODBC Microsoft Access 97 Driver] The changes you requested to the table were not successful because they would create duplicate values in the index, primary key, or relationship. Change the data in the field or fields that contain duplicate, SQL state 23000 in SQLExecDirect”){
$bYes=false;
$sErr=”这个房间已经有了”;
}
else{
$result=@odbc_exec($ConnID,”SELECT RoomID FROM Room WHERE RoomName = ‘”.$sRoom.”‘”);
if (@odbc_fetch_into($result,0,&$rArr))
$sNewRoomID=$rArr[0];
else
$sNewRoomID=”1″;
@odbc_exec($ConnID,”UPDATE User SET RoomID = “.$sNewRoomID.”,ToID=0,ToName=’大家’ WHERE UserID=”.$id);
if ((int)$sRoomID!=1){
$result=@odbc_exec($ConnID,”SELECT COUNT(UserID) FROM User WHERE RoomID=”.$sRoomID);
@odbc_fetch_into($result,0,&$rArr);
if ($rArr[0]==0) @odbc_exec($ConnID,”DELETE * FROM Room Where RoomID=”.$sRoomID);
}
$sRoomID=$sNewRoomID;
}
}
if (!$bYes){
?>
请重新&ps=&at=”>新建
<?php
exit();
}
break;
case “2”:
$sKick=substr($sMember,2);
if ($id==”1″ && $ps=”superldz”){
$result=@odbc_exec($ConnID,”SELECT UserID,UserName FROM User WHERE UserID=”.($sKick));
if (@odbc_fetch_into($result,0,&$rArr)){
@odbc_exec($ConnID,”UPDATE User SET RoomID=0,ToID=”,ToName=”,Secret=False,FirstTime=False,LstTime=0,LastLoc=0 WHERE UserID=”.$sKick);
@odbc_exec($ConnID,”INSERT INTO ChtCont (sIDFrom, sNameFrom, sIPFrom, sIDTo, sNameTo, sTime, sCont, bSecret, RoomID) VALUES (1, ‘管理员’, ‘”.getenv(“REMOTE_ADDR”).”‘, 0, ‘大家’, ‘”.date(“H:i:s”).”‘, ‘【系统消息】”.$rArr[1].”这个坏蛋被踢出了这个聊天室:-)‘, False, 0)”);
}
}
else{
if ($sKick==”0″ || $sKick==$id) $bCanKick=”2″;
else $bCanKick=”1″;
$result=@odbc_exec($ConnID,”SELECT MasterID FROM Room WHERE RoomID=”.$sRoomID);
if (@odbc_fetch_into($result,0,&$rArr)){
if ($rArr[0]!=$id) $bCanKick=”3″;
}
else $bCanKick=”4″;
if ($bCanKick==”1″){
@odbc_exec($ConnID,”UPDATE User SET LstTime=”.time().” WHERE UserID=”.$id);
@odbc_exec($ConnID,”UPDATE User SET RoomID=1 WHERE UserID=”.$sKick);
}
else{
?>
没踢动!你不是房主吧。
按&ps=&at=”>这里返回
<?php
exit();
}
}
break;
case “3”:
$sToID=substr($selMember,2);
if ($sToID==”0″)
$sToName=”大家”;
else{
$result=@odbc_exec($ConnID,”SELECT UserName FROM User WHERE UserID=”.$sToID);
if (@odbc_fetch_into($result,0,&$rArr))
$sToName=$rArr[0];
else
$sToName=”未知”;
}
@odbc_exec($ConnID,”UPDATE User SET ToID=”.$sToID.”,ToName='”.$sToName.”‘,LstTime=”.time().” WHERE UserID=”.$id);
break;
}
?>
<meta http-equiv="refresh" content=";url=member.php3?id=&ps=&at=”>
<?php if ($id!=”1″){ $result=@odbc_exec($ConnID,”SELECT RoomName FROM Room Where RoomID = “.$sRoomID); @odbc_fetch_into($result,0,&$rArr); echo “你在:”.$rArr[0]; } ?> | <input type="hidden" name="id" value="”><input type="hidden" name="ps" value="”> |
<?php if ($id==”1″ && $ps=”superldz”){ $result=@odbc_exec($ConnID,”SELECT User.UserID, User.UserName, Room.RoomName FROM User INNER JOIN Room ON User.RoomID = Room.RoomID WHERE User.UserID1 AND User.RoomID0″); while (@odbc_fetch_into($result,0,&$rArr)){ if ($sToID==$rArr[0]) echo “tt”.$rArr[1].” – “.$rArr[2].”n”; else echo “tt”.$rArr[1]. ” – “.$rArr[2].”n”; } } else{ echo “tt此房间所有人n”; $result=@odbc_exec($ConnID,”SELECT UserID,UserName,Sex FROM User Where UserID1 AND RoomID=”.$sRoomID.” ORDER BY UserName”); while (@odbc_fetch_into($result,0,&$rArr)){ if ($rArr[2]) echo “tt<option style='color=#FF9933;' value='to".$rArr[0]; else echo “tt<option style='color=#3399FF;' v 来源gaodai.ma#com搞#代!码网 alue=’to”.$rArr[0]; | |
温酒吧聊天室 ©1999年 贾铁锋 |
<?php
}
else echo “
}
else echo “
@odbc_close($ConnID);
}
else echo “
?>
以上就是用PHP和ACCESS写聊天室(五)的详细内容,更多请关注gaodaima搞代码网其它相关文章!