簡化的實現方法(限制為同一會話頁面)

來源:互聯網
上載者:User
頁面 <?php
session_start();
$login=false;

$lifetime=60;//會話時間
$loginFILE="loginmsg.txt";

if(file_exists($loginFILE)&& (time()-filemtime($loginFILE))<$lifetime){//在會話時間範圍內
        $info=file($loginFILE);
            $username=trim($info[0]);    //已線上的登陸使用者名稱
            $password=trim($info[1]);    //已線上密碼(可以不儲存)
            $ip     =trim($info[2]);    //已線上IP
            $sid     =trim($info[3]);    //已線上PORT
            if(strcmp($_SESSION[LoginUser],$username)==0){
                if(strcmp($_SESSION['LoginPw'],$password)==0){
                    $login=true;
                    echo "<h3>可以確定你是獨苗苗~:)</h3>";
                    $cf=fopen($loginFILE,"a+");
                    fputs($cf,"\r\na");
                    fclose($cf);//這裡增加檔案記錄僅僅是為了修改檔案的最後修改時間
                    echo "<meta http-equiv=refresh content=\"10;url=t.php\">";//消除重新整理頁面瀏覽器提示
                }else{
                    echo "密碼錯誤";
                }
            }else{
                echo "已經有使用者($username)登陸系統,但那人不是你:),你還是等會再登陸吧...暫時不允許登陸";
                print_r($_SESSION);
            }
}else{//使用者逾時,或根本沒登陸系統、或為登陸系統進行必要的變數轉換
            if(isset($_POST[LoginUser])){
                $_SESSION[LoginUser]=$_POST[LoginUser];    //轉變形式
                $_SESSION[LoginPw]=$_POST[LoginPw];
                $fp=fopen($loginFILE,"w");    //清除所有舊的登陸資訊
                $msg=$_POST['LoginUser']."\r\n".$_POST['LoginPw']."\r\n";
                fwrite($fp,$msg);
                fclose($fp);
                $login=flase;    //禁止登陸頁面顯示
                echo "<meta http-equiv=refresh content=\"0;url=index.php\">";//重新整理頁面使用轉變後變數進行驗證
            }else{
                $outtime=time()-filemtime($loginFILE)-60;
                echo "登陸不存在或您已經逾時(".$outtime."秒)...";
            }
}
if(!$login){
?>
    <Form action="<?=$_SERVER[PHP_SELF]?>" method="post" name="Loginform">
        <table cellpadding=0 border=0>
        <tr><td>
        使用者名稱:<td><input type="text" name="LoginUser"></span><br>
        <tr><td>密碼:<td><input type="password" name="LoginPw"></span><br>
        <tr><td> <td><input type="button" value=" Login " onclick="if(this.form.LoginUser.length*this.form.LoginPw.length!=0){this.form.submit();}else{return false;}">
        </table>
    </form>
<?
}
?>


t.php
=====
<meta http-equiv=refresh content="0;url=<?=$_SERVER[HTTP_REFERER]?>">

相關文章

Beyond APAC's No.1 Cloud

19.6% IaaS Market Share in Asia Pacific - Gartner IT Service report, 2018

Learn more >

Apsara Conference 2019

The Rise of Data Intelligence, September 25th - 27th, Hangzhou, China

Learn more >

Alibaba Cloud Free Trial

Learn and experience the power of Alibaba Cloud with a free trial worth $300-1200 USD

Learn more >

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。