2011-09-17 83 views
0

我正在開發一個web應用程序,但遇到了一些小問題。我使用的是CodeIgniter。提交按鈕,在CodeIgniter中執行PHP

我想要有2個按鈕來執行2個不同的功能,它們可以對數據庫做不同的事情。我在適當的Controller文件中創建了這些功能。

要使按鈕執行各自的功能,最好的方法是什麼?如果它需要JavaScript,我沒有問題,只需要一些指針,因爲我在這裏有點困惑!

回答

1

如果他們正在對數據庫中的記錄進行更改,則應該將它們作爲表單(或兩個)的一部分來實現。只有使用簡單的GET請求才能執行潛在的破壞性操作。

表單可以包含一個隱藏的輸入類型來指定控制器中的內容。

HTML頁面:

​​

控制器:

function myfunction() 
{ 
    // Your form would be submitted to this method... 
    // Get action from submitted form ('one' or 'two') 
    $action = $this->input->post('action'); 
    // Decide what to do 
    switch ($action) 
    { 
     case 'one': $this->my_first_action(); break; 
     case 'two': $this->my_second_action(); break; 
    } 
} 

function my_first_action() 
{ 
    // Do stuff... 
} 

這將是一次形式已提交重定向到另一頁好的做法 - 使用 'Post/Redirect/Get' 模式。

+0

這絕對是我正在尋找的。現在的問題是,即使在我的控制器中定義的函數,並正確調用形式action =「」我得到一個404錯誤? –

+0

聽起來好像你需要在表單的動作標籤中輸入完整的URL。使用URL助手(例如<?php echo site_url('controller/method')?>)或表單助手(<?php echo form_open('controller/method')?>)。 還要確保該方法設置爲POST。 –