我正在探索codeigniter很長一段時間,我在探索它時遇到的大部分問題已經通過Google搜索解決了,但現在我面臨的問題有點奇怪。所以情況就是這樣。如果驗證後沒有錯誤,我有一個控制器將驗證表單並將所有輸入從表單傳遞到模型。CodeIgniter - 加載模型後無法加載視圖
我在同一個控制器中有另一個功能,它會在被叫時發送電子郵件。所以我想要做的是驗證表單,使用數組發送所有輸入到模型並將其插入數據庫,然後將電子郵件發送到用戶的電子郵件地址。
下面是從註冊控制器部分代碼:
if($this->form_validation->run() == FALSE){
//load custom config
$this->config->load('site_config', TRUE);
$this->load->library('session');
$this->load->helper('form');
//retrieve data
$data['site_title'] = $this->config->item('site_title', 'site_config');
$data['site_login'] = $this->config->item('site_login', 'site_config');
$data['site_url'] = $this->config->item('site_url', 'site_config');
$data['img_folder_path'] = $this->config->item('img_folder_path', 'site_config');
$this->load->view('view_header', $data);
$this->load->view('view_signup',$data);
$this->load->view('view_footer');
}else{
$this->load->model('Adduserinfointoactivationtable');
$user_infos = array('first_name' => $this->input->post('first_name'),
'last_name' => $this->input->post('last_name'),
'email' => $this->input->post('email'),
'tel' => $this->input->post('tel'),
'fax' => $this->input->post('fax'),
'add_1' => $this->input->post('add_1'),
'add_2' => $this->input->post('add_2'),
'city' => $this->input->post('city'),
'post_code' => $this->input->post('post_code'),
'state' => $this->input->post('state'),
'password' => sha1($this->input->post('pass_2')),
'activation_code' => sha1(sha1($this->input->post('email').$this->input->post('pass_2'))),
);
$this->Adduserinfointoactivationtable->addUserInfo($user_infos);
$this->send_mail();
}
這裏是模型:
public function addUserInfo ($user_infos){
$sql = "INSERT INTO tbl_user_Account (email_add, activation_code, fname, lname, tel, fax, add1, add2, city, post_code, state, password) VALUES (?,?,?,?,?,?,?,?,?,?,?,?);";
$query = $this->db->query($sql, array($user_infos['email'], $user_infos['activation_code'], $user_infos['first_name'], $user_infos['last_name'], $user_infos['tel'], $user_infos['fax'], $user_infos['add_1'], $user_infos['add_2'], $user_infos['city'], $user_infos['post_code'], $user_infos['state'], $user_infos['password']));
$query->result_array();
}
當我放置$this->send_mail();
之後的東西,它的工作原理。我做了一些測試,電子郵件功能工作正常。但是當我以這種方式呼叫$this->Adduserinfointoactivationtable->addUserInfo($user_infos);
後,它不發送電子郵件。我也注意到無論我在$this->Adduserinfointoactivationtable->addUserInfo($user_infos);
之後做什麼,例如加載視圖或回顯某些內容,它都不起作用。
有人能告訴我這個嗎?
你爲什麼要這麼做$查詢 - > result_array(); ?? –
是的,太粗心了,因爲複製代碼並粘貼它沒有雙重檢查。由於插入了數據,下次應該多關注模型,所以我沒有太在意模型。再次感謝評論並指出。 :) – Chivaa