用的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();}