0
看看這段代碼:爲什麼Codeigniter set_flashdata()會插入錯誤的信息?
$this->session->set_flashdata('prev_page', $this->uri->uri_string());
echo $this->uri->uri_string();
echo $this->session->flashdata('prev_page');
當來訪mywebsite/index.php/home/
echo $this->uri->uri_string();
打印home
echo $this->session->flashdata('prev_page');
打印home/picktype
,在同一個控制器完全不同的功能!
有問題的控制器功能:
class Home extends MY_Controller {
function __construct()
{
parent::__construct();
}
public function index()
{
if($this->input->cookie('disclaimer_seen_token'))
{
$this->load->view('home');
} else {
redirect('disclaimer');
}
}
public function picktype()
{
$this->load->view('picktype');
}
}
爲什麼會這樣發生?
我知道這一點。我不斷刷新主頁。輸出總是一樣的。 – styke
但你在哪裏「刷新」主頁?即主頁本身做了重定向,所以你最終循環了flash數據? – Laurence
flashdata未被循環。我從瀏覽器刷新 - 所有其他頁面調用(我有很多在我的家庭控制器中)刷新頁面並更新值後,回顯uri字符串和相同的uri字符串作爲flashdata。只有索引函數表現得很奇怪。 – styke