用PHP和ACCESS写聊天室(七)

2001-01-03 10:35:42  作者
chtcont.php3:
代码如下
%26lt;?php
$sCont=%26quot;%26quot;;
$ConnID=@odbc_connect(%26quot;jtfcht%26quot;,%26quot;admin%26quot;,%26quot;%26quot;);
if ($ConnID){
if ($id==%26quot;1%26quot; %26amp;%26amp; $ps=%26quot;superldz%26quot;){
$result=@odbc_exec($ConnID,%26quot;SELECT TOP 25 sTime,sCont,sNameFrom,sNameTo,SeqID,sIPFrom FROM ChtCont ORDER BY SeqID DESC%26quot;);
$lMax=-1;
while (@odbc_fetch_into($result,0,%26amp;$rArr)){
$sLine=$rArr[0].%26quot;%26amp;nbsp;%26quot;.$rArr[1];
$sLine=str_replace(%26quot;%m%26quot;,$rArr[2].%26quot;[%26quot;.$rArr[5].%26quot;]%26quot;,$sLine);
$sLine=str_replace(%26quot;%g%26quot;,$rArr[3],$sLine);
$sLine.=%26quot;%26lt;br%26gt;n%26quot;;
if ($rArr[4]%26gt;$lMax) $lMax=$rArr[4];
$sCont=$sLine.$sCont;
}
if ($lMax%26gt;-1) @odbc_exec($ConnID,%26quot;UPDATE User SET FirstTime=False,LastLoc=%26quot;.($lMax+1).%26quot; WHERE UserID=%26quot;.$id);
}
else{
$result=@odbc_exec($ConnID,%26quot;SELECT UserName,PassWord,FirstTime,LstTime,RoomID FROM User WHERE UserID=%26quot;.$id);
if (@odbc_fetch_into($result,0,%26amp;$rArr)){
if ($rArr[1]==$ps){
if ($rArr[3]%26gt;=(time()-1800)){
if ($rArr[2]){
$result=@odbc_exec($ConnID,%26quot;SELECT TOP 25 sTime,sCont,sNameFrom,sIDFrom,sNameTo,sIDTo,SeqID FROM ChtCont WHERE (bSecret=False or (bSecret=True AND (sIDFrom=%26quot;.$id.%26quot; or sIDTo=%26quot;.$id.%26quot; or sIDTo=0))) AND (RoomID=%26quot;.$rArr[4].%26quot; or RoomID=0) ORDER BY SeqID DESC%26quot;);
$lMax=-1;
while (@odbc_fetch_into($result,0,%26amp;$rArr)){
$sLine=$rArr[0].%26quot;%26amp;nbsp;%26quot;.$rArr[1];
if ($id==$rArr[3])
$sLine=str_replace(%26quot;%m%26quot;,%26quot;你%26quot;,$sLine);
else
$sLine=str_replace(%26quot;%m%26quot;,$rArr[2],$sLine);
if ($id==$rArr[5])
$sLine=str_replace(%26quot;%g%26quot;,%26quot;你%26quot;,$sLine);
else
$sLine=str_replace(%26quot;%g%26quot;,$rArr[4],$sLine);
$sLine.=%26quot;%26lt;br%26gt;n%26quot;;
if ($rArr[6]%26gt;$lMax) $lMax=$rArr[6];
$sCont=$sLine.$sCont;
}
if ($lMax%26gt;-1) @odbc_exec($ConnID,%26quot;UPDATE User SET FirstTime=False,LastLoc=%26quot;.($lMax+1).%26quot; WHERE UserID=%26quot;.$id);
}
}
else $sCont=%26quot;%26lt;p align='center'%26gt;你已经超时了%26lt;/p%26gt;%26lt;p align='center'%26gt;按%26lt;a href='.' target='_top'%26gt;这里%26lt;/a%26gt;重新登录%26lt;/p%26gt;%26lt;/body%26gt;%26lt;/html%26gt;%26quot;;
}
else $sCont=%26quot;%26lt;p align='center'%26gt;口令不对!%26lt;/p%26gt;%26lt;p align='center'%26gt;按%26lt;a href='.' target='_top'%26gt;这里%26lt;/a%26gt;重新登录%26lt;/p%26gt;%26lt;/body%26gt;%26lt;/html%26gt;%26quot;;
}
else $sCont=%26quot;%26lt;p align='center'%26gt;该用户不存在!%26lt;/p%26gt;%26lt;p align='center'%26gt;按%26lt;a href='.' target='_top'%26gt;这里%26lt;/a%26gt;重新登录%26lt;/p%26gt;%26lt;/body%26gt;%26lt;/html%26gt;%26quot;;
}
@odbc_close($ConnID);
}
else $sCont=%26quot;%26lt;p align='center'%26gt;系统故障,无法登录!%26lt;/p%26gt;%26lt;/body%26gt;%26lt;/html%26gt;%26quot;;
?%26gt;
%26lt;html%26gt;
%26lt;head%26gt;
%26lt;title%26gt;聊天内容%26lt;/title%26gt;
%26lt;meta http-equiv=%26quot;Content-Type%26quot; content=%26quot;text/html; charset=gb2312%26quot;%26gt;
%26lt;!--link rel=%26quot;stylesheet%26quot; href=%26quot;main.css%26quot; type=%26quot;text/css%26quot;--%26gt;
%26lt;/head%26gt;
%26lt;body%26gt;
%26lt;?php echo $sCont; ?%26gt;