uploadify Firefox下上傳不成功,錯誤提示沒有session

來源:互聯網
上載者:User

用的thinkphp架構,剛去tp討論看了好多,嘗試了一下都不行。
不太理解到底怎樣才算是通過登入驗證了。

    public function _initialize(){                // 驗證使用者是否登陸        if (!session('?name') or !session('?dutydate')) {            $this->error('未登入,跳轉到登入頁面',__MODULE__.'/login/index',3);        }            }    

看了一篇這樣的文章(http://www.edbiji.com/doccenter/showdoc/54/nav/702.html),情況跟我一樣,我不太明白,他這篇文章服務端代碼這樣寫的意義是什嗎?

//初始化執行    public function _initialize(){        //此處為解決Uploadify在Firefox下出現http 302錯誤 重新設定SESSION        $session_name = session_name();        if (isset($_POST[$session_name])) {            session_id($_POST[$session_name]);            session_start();        }            //執行登陸驗證檢測函數        $this->powerverify();            }

我的是這樣的,我只判斷session('name') 和 session('dutydate'),
那如果我要接受uploadify,post過來的值。$_POST['test],這就是我當前的session了
我按照文章的意思寫,但是我覺得沒有任何意義啊?搞不懂這塊是什麼意思?

    public function _initialize(){        $session_name = $_POST['test'];        if (isset($_POST[$session_name])) {            session('name',$_POST[$session_name]);            session('[start]');        }                // 驗證使用者是否登陸        if (!session('?name') or !session('?dutydate')) {            $this->error('未登入,跳轉到登入頁面',__MODULE__.'/login/index',3);        }            }

有空的大神,幫忙看下,調試好久了,還是不行,煙都抽完了。。。。

回複內容:

用的thinkphp架構,剛去tp討論看了好多,嘗試了一下都不行。
不太理解到底怎樣才算是通過登入驗證了。

    public function _initialize(){                // 驗證使用者是否登陸        if (!session('?name') or !session('?dutydate')) {            $this->error('未登入,跳轉到登入頁面',__MODULE__.'/login/index',3);        }            }    

看了一篇這樣的文章(http://www.edbiji.com/doccenter/showdoc/54/nav/702.html),情況跟我一樣,我不太明白,他這篇文章服務端代碼這樣寫的意義是什嗎?

//初始化執行    public function _initialize(){        //此處為解決Uploadify在Firefox下出現http 302錯誤 重新設定SESSION        $session_name = session_name();        if (isset($_POST[$session_name])) {            session_id($_POST[$session_name]);            session_start();        }            //執行登陸驗證檢測函數        $this->powerverify();            }

我的是這樣的,我只判斷session('name') 和 session('dutydate'),
那如果我要接受uploadify,post過來的值。$_POST['test],這就是我當前的session了
我按照文章的意思寫,但是我覺得沒有任何意義啊?搞不懂這塊是什麼意思?

    public function _initialize(){        $session_name = $_POST['test'];        if (isset($_POST[$session_name])) {            session('name',$_POST[$session_name]);            session('[start]');        }                // 驗證使用者是否登陸        if (!session('?name') or !session('?dutydate')) {            $this->error('未登入,跳轉到登入頁面',__MODULE__.'/login/index',3);        }            }

有空的大神,幫忙看下,調試好久了,還是不行,煙都抽完了。。。。

Firefox在用uploadify的時候確實有問題,這是因為Firefox的flash無法傳遞當前域的cookie,官方文檔上對這個問題有解決方案。
跟你的代碼處理方式類似。
將 session_id 放在url或者post請求中傳過去,如果請求中有相關值則使用這個值產生session,否則就使用cookie中的值來擷取session。

通過 session_id 擷取目前使用者session,請求接收後再用 session_id 指定使用者session再start
大概如下:

//上傳前$auth = session_id();//傳輸該值//指定sessionif(!empty($_POST['auth'])){    session_id($_POST['auth']);    session_start();}else{    session_start();}
  • 相關文章

    聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.