2014-06-26 78 views
0

我正在使用閃存數據成功/錯誤消息。CodeIgniter - 閃存會話刪除所有會話

我遇到了問題:在我設置flashdata後 - 所有會話數據都被刪除,但只有少數控制者在​​其他控制器中正常工作。

Cotroller 1:(功能whre它工作正常)

public function vymazat($id) 
    { 
     if(!is_numeric($id)) redirect(); 

     $this->admin_model->delete_coupon($id); 
     $this->session->set_flashdata('success', 'Kupón bol úspešne vymazaný'); 
     redirect('admin/kupony/zobrazit'); 

    } 

控制器2:(函數,其中它不工作)

public function vymazat($id) 
{ 
    if(!is_numeric($id)) redirect(); 

    $this->admin_model->delete_order($id); 
    $this->session->set_flashdata('success', 'Kupón bol pridaný'); 
    redirect('admin/objednavky/zobrazit'); 

} 

感謝所有幫助

+0

評論在這兩種情況下重定向,並把這個'print_r($ this-> session-> userdata());'和發佈結果。 –

+0

問題解決了,問題出現在文件的字符集中。我不得不使用UTF8 – DeiForm

回答

0

從笨文檔:

CodeIgnite r支持「flashdata」,或會話數據,只有 可用於下一個服務器請求,然後自動清除 。

您的重定向可能需要多個請求,因此結果會清除您的flashdata

您可以使用以下方法:

//In your Redirected to, controller constructor 
$this->session->keep_flashdata('message'); 

看看是否顯示flashdata,如果是,那麼我上面的說法是正確的。