2017-06-21 72 views
0

做兩個不同的功能我有一個按鈕在我的形式,應該插入數據到數據庫併發送數據作爲電子郵件。所以我的問題是我可以分開控制器中的功能?我已經試圖只用一個函數來插入(插入數據庫並將數據作爲電子郵件發送)。它真的看起來很亂,因爲我實際上想要做的功能超過了這兩個。 public function insertdata(){...}public function sendemail(){...} 也許是這樣的。使1按鈕在控制器php codeigniter

+1

是的,當然,你需要讓儘可能多的方法,並從一個鏈接到路線 – Steve

+0

打電話給他們,你可以在你從添加第二個按鈕,這兩個按鈕需要有一個名字,並在你的控制器中,首先你需要捕捉用戶點擊的聊天按鈕,然後讓你的邏輯。或者在你的第二個按鈕中使用html5動作 – elddenmedio

回答

1

當然,這是可能的。您可以使用第一個功能插入數據創建兩個函數,並檢查您的數據是否會被插入。如果插入,則調用第二個函數併發送郵件。例如:

public function insertdata(){ 
    $data = $this->input->post(); 
    //add model 
    $result = $this->insert_model->InsertData($data); 
    if($result>0){ 
    $this->sendmail($data); 
    }else{ 
    $this->session->set_flashdata('Your data not inserted'); 
    } 
} 
public function sendmail($data){ 
    //here you can read data and write code for send email. 
} 
+0

謝謝,這是完美的工作 – wildape

+0

這將工作,但CodeIgniter從這樣的另一個函數中調用一個函數並不是最佳實踐。上例中的'sendmail'函數應該成爲一個庫。見:https://www.codeigniter.com/user_guide/general/creating_libraries.html – Sparky

+0

斯帕基你絕對寫,你可以創建電子郵件庫和調用sendmail函數庫。 –