thinkphp的項目 後台登入問題,怪事

來源:互聯網
上載者:User
thinkphp的項目,碰到了一個怪事,
本地環境下點擊登入後,順利進入後台;
虛擬空間的網站,點擊登入後,無法進入後台,沒有報錯,閃了一下仍停留在登入框;
跟蹤了一下,同樣是執行了以下語句:
$this->display('login');

本地:接著就執行這個函數:
    public function login() {

但是在虛擬空間調試,就沒有執行以上函數。同樣的資料庫、代碼,為什麼會這樣呢?請指教!


回複討論(解決方案)

恐怕不是這個login的事情呢,再上下文看看

你後台那裡是不是有判斷session的代碼啊? 把那個去掉之後看看能不能進去

再一個你點擊登入之後 頁面跳轉代碼是什嗎?

    public function index() {        if (!empty($_SESSION[C('SESSION_ADMIN_NAME')]) && !empty($_SESSION[C('SESSION_ADMIN_ID')]) && strtolower(ACTION_NAME) != 'logout') {             $this->redirect("Index/index");         }        $this->display('login');    }    /**     * 登入判斷     */    public function login() {


我跟蹤到!empty($_SESSION[C('SESSION_ADMIN_NAME')])是true, !empty($_SESSION[C('SESSION_ADMIN_ID')])也是true,結果本地、虛擬空間都有執行到語句:
 $this->display('login');

說錯了,應該是!empty($_SESSION[C('SESSION_ADMIN_NAME')])是false, !empty($_SESSION[C('SESSION_ADMIN_ID')])也是false,就是兩個SESSION都是空的

去掉!empty($_SESSION[C('SESSION_ADMIN_NAME')]) && !empty($_SESSION[C('SESSION_ADMIN_ID')]) && 語句後,
剩下:

if (strtolower(ACTION_NAME) != 'logout') {                                 $this->redirect("Index/index");                             }... ...

登入頁面重新整理後出現:頁面無法載入,此網頁包含重新導向迴圈

再一個你點擊登入之後 頁面跳轉代碼是什嗎?



謝謝回複,點擊登入之後 頁面跳轉到 http://.../Login/login.htm
然後馬上又跳轉到http://.../Home/Login/index.htm (登入頁面)

更正一下,點擊登入之後 頁面是先跳轉到 http://.../Login/login.htm
然後馬上自動跳轉到 http://.../Index/index.htm
最後又馬上自動跳轉到http://.../Home/Login/index.htm (登入頁面)

$this->display('main');    }    public function main() {        $this->display('center');    }

這個 $this->display('center'); ... ...

\manager\Lib\Action\Home\LoginAction.class.php

public function logout() {        session_destroy();  //cjq add $fp = fopen('./qerr1f.txt','w+'); fwrite($fp,"ok"); fclose($fp);          $this->redirect('Login/index');    }


跟蹤到這段代碼了,確實執行到了 $this->redirect('Login/index');
但不知為何本地測試時,也執行到這句代碼,卻沒有跳轉到登入頁面?

清空 Runtime 目錄後再試

如果
public function logout() {
會被執行到,顯然是你弄錯了 url
logout 是登出!

清空 Runtime 目錄後再試

如果
public function logout() {
會被執行到,顯然是你弄錯了 url
logout 是登出!



多謝!我也不知道為什麼logout()會被執行到,三個RUNTIME目錄都清空了,還是一樣。
我搜尋整站代碼,只搜到四段調用logout()的代碼,都與登入無關。
是哪裡的URL搞錯了呢?被這個問題搞暈了!

清空 Runtime 目錄後再試

如果
public function logout() {
會被執行到,顯然是你弄錯了 url
logout 是登出!



多謝!我也不知道為什麼logout()會被調用到,三個runtime目錄都清空了,還是一樣。
什麼地方的url弄錯了呢?我被這個問題搞暈了!

請在虛擬機器上開一個測試頁面:

 

不斷重新整理該測試頁面看看有沒有輸出時間,同時查看時間是不是在變。
如果時間不斷變化,你的伺服器沒有配置好session

請在虛擬機器上開一個測試頁面:

 

不斷重新整理該測試頁面看看有沒有輸出時間,同時查看時間是不是在變。
如果時間不斷變化,你的伺服器沒有配置好session



謝謝回複,重新整理後時間一直沒變化。

 

看看兩個環境下的輸出有什麼區別,你這樣順藤摸瓜總能出來的

 

看看兩個環境下的輸出有什麼區別,你這樣順藤摸瓜總能出來的



兩個環境下都輸出NULL,真搞不懂為什麼就。。。?
  • 相關文章

    聯繫我們

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

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

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.