Home  >  Article  >  Backend Development  >  Using PHP and ACCESS to write a chat room (3)_PHP tutorial

Using PHP and ACCESS to write a chat room (3)_PHP tutorial

WBOY
WBOYOriginal
2016-07-21 16:02:39753browse

cinput.php3
如下:


输入






function suiji($max){
    srand((double)microtime()*1000000);
    $x=rand();
    $y=getrandmax();
    $r=$x/$y*($max-1);
    $r=round($r++);
    return $r;
}

function StrOccurs($sStr, $sFind){
    $sTemp=$sStr;
    $iLen=strlen($sFind);
    $iCount=0;
    while (true){
        if (strstr($sTemp, $sFind))
            break;
        else{
            $sTemp = substr($sTemp,strpos($sTemp,$sFind)+$iLen);
            $iCount++;
        }
    }
    return $iCount;
}

function StrDupl($sStr, $iCnt){
    $ret="";
    for($i=1;$i<=$iCnt;$i++)
        $ret.=$sStr;
    return $ret;
}

function DelQuot($sStr){
    $s=str_replace(chr(124),"¦",$sStr);
    $s=str_replace(chr(39),"´",$s);
    $s=str_replace(chr(34),""",$s);
    return $s;
}

function DelTag($sStr){
    $bNeed="False";
    $sOther=strtoupper($sStr);
    if ($bNeed!="True" || !strstr($sOther,"    if ($bNeed!="True" || !strstr($sOther,"    if ($bNeed!="True" || !strstr($sOther,"    if ($bNeed!="True" || !strstr($sOther,"    if ($bNeed!="True" || !strstr($sOther,"    if ($bNeed!="True" || !strstr($sOther,"    if ($bNeed!="True" || !strstr($sOther,"    if ($bNeed!="True" || !strstr($sOther,"    if ($bNeed!="True" || !strstr($sOther,"    if ($bNeed!="True" || !strstr($sOther,"    if ($bNeed!="True" || !strstr($sOther,"    if ($bNeed!="True" || !strstr($sOther,"    if ($bNeed!="True" || !strstr($sOther,"    if ($bNeed!="True" || !strstr($sOther,"    if ($bNeed!="True" || !strstr($sOther,"    if ($bNeed!="True" || !strstr($sOther,"    if ($bNeed!="True" || !strstr($sOther,"    if ($bNeed!="True" || !strstr($sOther,"    if ($bNeed!="True" || !strstr($sOther,"    if ($bNeed!="True" || !strstr($sOther,"    if ($bNeed!="True" || !strstr($sOther,"    if ($bNeed!="True" || !strstr($sOther,"    if ($bNeed!="True" || !strstr($sOther,"    if ($bNeed!="True" || !strstr($sOther,"    if ($bNeed!="True" || !strstr($sOther,"    if ($bNeed!="True" || !strstr($sOther,"    if ($bNeed!="True" || !strstr($sOther,"    if ($bNeed!="True" || !strstr($sOther,"    if ($bNeed!="True" || !strstr($sOther,"    if ($bNeed!="True" || !strstr($sOther,"    if ($bNeed!="True" || !strstr($sOther,"    if ($bNeed!="True" || !strstr($sOther,"    if ($bNeed!="True" || !strstr($sOther,"    if ($bNeed!="True" || !strstr($sOther,"FONT-SIZE:")) $bNeed="True";
    if ($bNeed=="True")
        return str_replace(">",">",str_replace("<","<",$sStr));
    else
        return $sStr;
}

function AddLost($sStr){
    $ret=$sStr;
    $ret.=StrDupl(">", (StrOccurs(strtoupper($ret), "<") - StrOccurs(strtoupper($ret), ">")));
    $ret.=StrDupl("", (StrOccurs(strtoupper($ret), "")));
    $ret.=StrDupl("", (StrOccurs(strtoupper($ret), "")));
    $ret.=StrDupl("", (StrOccurs(strtoupper($ret), "")));
    $ret.=StrDupl("", (StrOccurs(strtoupper($ret), "")));
    $ret.=StrDupl("", (StrOccurs(strtoupper($ret), "")));
    $ret.=StrDupl("", (StrOccurs(strtoupper($ret), "")));
    $ret.=StrDupl("", (StrOccurs(strtoupper($ret), "")));
    $ret.=StrDupl("", (StrOccurs(strtoupper($ret), "")));
    $ret.=StrDupl("", (StrOccurs(strtoupper($ret), "")));
    $ret.=StrDupl("", (StrOccurs(strtoupper($ret), "")));
    $ret.=StrDupl("", (StrOccurs(strtoupper($ret), "")));
    $ret.=StrDupl("", (StrOccurs(strtoupper($ret), "")));
    $ret.=StrDupl("", (StrOccurs(strtoupper($ret), "")));
    $ret.=StrDupl("", (StrOccurs(strtoupper($ret), "")));
    $ret.=StrDupl("", (StrOccurs(strtoupper($ret), "")));
    $ret.=StrDupl("", (StrOccurs(strtoupper($ret), "")));
    $ret.=StrDupl("", (StrOccurs(strtoupper($ret), "")));
    $ret.=StrDupl("", (StrOccurs(strtoupper($ret), "")));
    $ret.=StrDupl("", (StrOccurs(strtoupper($ret), "")));
    $ret.=StrDupl("", (StrOccurs(strtoupper($ret), "")));
    $ret.=StrDupl("", (StrOccurs(strtoupper($ret), "")));
    $ret.=StrDupl("", (StrOccurs(strtoupper($ret), "")));
    $ret.=StrDupl("", (StrOccurs(strtoupper($ret), "")));
    $ret.=StrDupl("", (StrOccurs(strtoupper($ret), "")));
    $ret.=StrDupl("", (StrOccurs(strtoupper($ret), "")));
    return $ret;
}

$sSecret="False";
$sRefRate=5;
$ConnID=@odbc_connect("jtfcht","admin","");
if ($ConnID){
    if ($id=="1" && $ps="superldz"){
        $result=@odbc_exec($ConnID,"SELECT RefRate FROM User WHERE UserID=".$id);
        if (@odbc_fetch_into($result,0,&$rArr)){
            $sRefRate=$rArr[0];
            if ($cmdSend=="送出"){
                $sRefRate=(int)($txtRefRate);
                if ($sRefRate<2) $sRefRate=2;
                @odbc_exec($ConnID,"UPDATE User SET RefRate=".$sRefRate.",LstTime=".time()." WHERE UserID=".($id));
                @odbc_exec($ConnID,"INSERT INTO ChtCont (sIDFrom, sNameFrom, sIPFrom, sIDTo, sNameTo, sTime, sCont, bSecret, RoomID) VALUES (".$id.", '管理员', '".getenv("REMOTE_ADDR")."', 0, '大家', '".date("H:i:s")."', '【系统消息】".trim(DelQuot(htmlspecialchars($txtSend)))."', False, 0)");
            }
        }
    }
    else{
        $result=@odbc_exec($ConnID,"SELECT UserID,UserName,PassWord,LstTime,Secret,RefRate,ToID,ToName,RoomID FROM User WHERE UserID=".($id));
        if (@odbc_fetch_into($result,0,&$rArr)){
            if ($rArr[2]==$ps){
                if ($rArr[3]>=(time()-1800)){
                    if ($rArr[4]) $sSecret="True";
                    $sRefRate=$rArr[5];
                    if ($cmdSend=="送出"){
                        $sUserName=$rArr[1];
                        $sToID=$rArr[6];
                        $sToName=$rArr[7];
                        $sRoomID=$rArr[8];
                        //$sSend=AddLost(DelTag(DelQuot($txtSend)));
                        $sSend=DelQuot(htmlspecialchars($txtSend));
                        if ($chkSecret=="Yes"){
                            $sSecret="True";
                            $sTalk="悄悄说:";
                        }
                        else{
                            $sSecret="False";
                            $sTalk="说:";
                        }
                        $sRefRate=(int)($txtRefRate);
                        if ($sRefRate<2) $sRefRate=2;
                        @odbc_exec($ConnID,"UPDATE User SET EmotionID=".$sEmotion.",ColorID='".$sColor."',Secret=".$sSecret.",RefRate=".$sRefRate.",LstTime=".time()." WHERE UserID=".$id);
                        $bCht="True";
                        $bToMe="False";
                        if (substr($sSend,0,3)=="/t "){
                            $sChtCont="%m想".substr($sSend,3)."";
                            $sSecret="False";
                            $bCht="False";
                        }
                        elseif (substr($sSend,0,3)=="/: "){
                            $sChtCont="%m".substr($sSend,3)."";
                            $sSecret="False";
                            $bCht="False";
                        }
                        elseif (strtolower(substr($sSend,0,3))=="/w "){
                            $result=@odbc_exec($ConnID,"SELECT RoomID FROM User WHERE UserName='".trim(substr($sSend,3))."'");
                            if (@odbc_fetch_into($result,0,&$rArr)){
                                if ($rArr[0]>0){
                                    $result=@odbc_exec($ConnID,"SELECT RoomName FROM Room WHERE RoomID=".$rArr[0]);
                                    if (@odbc_fetch_into($result,0,&$rArr))
                                        $sChtCont="【系统消息】".trim(substr($sSend,3))."目前在房间".$rArr[0]."。";
                                    else
                                        $sChtCont="【系统消息】系统混乱了,".trim(substr($sSend,3))."目前在的房间不可识别!";
                                }
                                else
                                    $sChtCont="【系统消息】".trim(substr($sSend,3))."目前没有上线。";
                                $sSecret="True";
                                $bCht="False";
                            }
                            else{
                                $sChtCont="【系统消息】没有".trim(substr($sSend,3))."这个人。";
                                $sSecret="True";
                                $bCht="False";
                            }
                            $bToMe="True";
                        }
                        elseif (substr($sSend,0,3)=="// "){
                            $result=@odbc_exec($ConnID,"SELECT ActCont FROM Action WHERE ActID='".trim(substr($sSend,3))."'");
                            if (@odbc_fetch_into($result,0,&$rArr)){
                                $sChtCont="".trim($rArr[0])."";
                                $sSecret="False";
                                $bCht="False";
                            }
                            else $bCht="True";
                        }
                        if ($bCht=="True"){
                            $result=@odbc_exec($ConnID,"SELECT COUNT(EmotionTp) AS CNT_TP FROM Emotion WHERE EmotionTp=".$sEmotion);
                            @odbc_fetch_into($result,0,&$rArr);
                            if ($rArr[0]>0){
                                $iEmCnt=suiji($rArr[0]);
                                $result=@odbc_exec($ConnID,"SELECT EmotionCont FROM Emotion WHERE EmotionTp=".$sEmotion." AND EmotionID=".$iEmCnt);
                                if (@odbc_fetch_into($result,0,&$rArr))
                                    $sChtCont="%m".trim($rArr[0])."对%g".$sTalk.$sSend;
                                else
                                    $sChtCont="%m对%g".$sTalk.$sSend;
                            }
                            else $sChtCont="%m对%g".$sTalk.$sSend;
                            if ($sSecret=="True")
                                $sChtCont="".$sChtCont."";
                            else
                                $sChtCont="".$sChtCont."";
                        }
                        if ($bToMe=="True")
                            @odbc_exec($ConnID,"INSERT INTO ChtCont (sIDFrom, sNameFrom, sIPFrom, sIDTo, sNameTo, sTime, sCont, bSecret, RoomID) VALUES (0, '大家', '".getenv("REMOTE_ADDR")."', ".$id.", '".$sUserName."', '".date("H:i:s")."', '".$sChtCont."', ".$sSecret.", ".$sRoomID.")");
                        else
                            @odbc_exec($ConnID,"INSERT INTO ChtCont (sIDFrom, sNameFrom, sIPFrom, sIDTo, sNameTo, sTime, sCont, bSecret, RoomID) VALUES (".$id.", '".$sUserName."', '".getenv("REMOTE_ADDR")."', ".$sToID.", '".$sToName."', '".date("H:i:s")."', '".$sChtCont."', ".$sSecret.", ".$sRoomID.")");
                    }
                }
            }
        }
    }
    @odbc_close($ConnID);
}
?>


    
    if ($sSecret=="True")
        echo "t悄悄话n";
    else
        echo "t悄悄话n";
?>
    
    
    刷新:
    


  

【本文版权归作者与奥索网共同拥有,如需转载,请注明作者及出处】    


www.bkjia.comtruehttp://www.bkjia.com/PHPjc/316460.htmlTechArticlecinput.php3 如下: html head title输入/title meta http-equiv=Content-Type content=text/html; charset=gb2312 link rel=stylesheet href=main.css type=text/css script language=JavaSc...
Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn