2012-06-07 36 views
0

這是一個小菜鳥問題。我有一個控制器從數據庫更新記錄,然後顯示主頁面。在更新的方法,CodeIgniter在同一個控制器中調用方法

function update() { 
    $row = $this->db->update($tablename, $data); 
    if($row == 1) { 
    $this->index(); 
    } 
} 

在這種情況下,視圖返回到索引頁面,但該網址仍是本地主機/控制器/更新。我應該使用重定向嗎?

function update() { 
    $row = $this->db->update($tablename, $data); 
    if($row == 1) { 
    redirect(controller/index); 
    } 
} 

哪種方法是重定向頁面的正確方法?謝謝。

+0

很好,函數名告訴一切:「重定向」是...重定向的最佳方法;) –

回答

2

我建議使用redirect方法。這樣他們不會意外地重新加載頁面,並重新編輯該行(我猜他們可能會反擊......)。

P.S.您需要在controller/index附近引用。

redirect('controller/index'); 
+0

如果我想傳遞的消息,如「行已成功更新」,我通過它使用uri細分市場? – Eric

+0

@Eric:這是一種方法。就我個人而言,我喜歡['flashdata'](http://codeigniter.com/user_guide/libraries/sessions.html)。重定向之前:'$ this-> session-> set_flashdata('message','行更新');'。然後在新頁面$ this-> session-> flashdata('message');'。 –

+0

這正是我所需要的。謝謝。 – Eric

相關問題