2011-11-08 41 views
0

我有一個codeigniter中的account_activation控制器,它改變用戶數據庫中的值,並且應該取消設置會話並銷燬我的ci_sessions數據庫中的會話。unset_userdata(codeigniter)不工作/正在重置自己?

看起來像這樣

function account_activation(){ 

    //blablabla database stuff 

    $the_results['message'] = "Dein Account wurde erfolgreich aktiviert"; 
    $this->session->sess_destroy(); 
    $this->layout->render_page('/Startseite/aktivierung', $the_results); 
} 

,並即時得到重定向到Startseite/aktiverung /和可以看到我的用戶數據沒有設置,會話被銷燬(打印我的userdata /會話在頭監控)。 如果我現在再次點擊主頁按鈕,我所有的用戶數據都回來了,例如system_login == true,雖然我看到它在前一頁上消失了。

IM在這個工作幾個小時,我真的frustrated..please告訴我即時作出這方面的一些邏輯故障)

問候,菲利普

回答

1

我聽說過幾次,一些有遇到類似的問題。他們爲解決這個問題所做的是將會話數據設置爲空值。

function account_activation(){ 

    //blablabla database stuff 

    $the_results['message'] = "Dein Account wurde erfolgreich aktiviert"; 
    $this->session->set_userdata('user_id', 0); 
    $this->layout->render_page('/Startseite/aktivierung', $the_results); 
} 

然後驗證每一個頁面加載的用戶。

+0

嗨repox,是的,我也嘗試過,但確切的同樣的事情發生。我看到所有的用戶數據未設置或0,只要我點擊homebutton或任何其他頁面,而不是當前它的所有返回.. :( –

+0

嘗試做一個重定向()後取消設置會話數據 - 這就是我確定我的會話不見了 – Repox

+0

對我來說太愚蠢了。我在兩個不同的域名(domainone.com/domain-one.com)上工作,當然如果會話對於domainone.com來說是刪除的,它仍然對domain-one有效。 com -.- –