我正在創建一個配置文件腳本,用戶可以在其中編輯其個人信息,興趣和鏈接。在函數內正確添加函數
我有一個表單中的所有字段,但現在我想通過製表符將它們分開。所以我會有一個個人信息標籤,興趣標籤和鏈接標籤。在每個頁面中,我將有一個表單將數據提交給相應的函數。例如,如果您正在編輯的個人信息表格將直接向mysite.com/edit/personal_info
的功能應該是這樣的
function edit() {
function personal_info() {
//data
}
function interests() {
//data
}
function links() {
//data
}
}
我不知道如何正確地從編輯()函數將數據發送到所有的子功能。
我將下面的一般數據添加到我的所有功能,但我想添加一次,所有的功能應該有它。我也試圖避免全局變量。
$this->db->where('user_id', $this->tank_auth->get_user_id());
$query = $this->db->get('user_profiles');
$data['row'] = $query->row();
然後在每個子功能我有驗證規則(笨)下面是對的personal_info功能
$this->form_validation->set_rules('first_name', 'First Name', 'trim|required|xss_clean|min_length[2]|max_length[20]|alpha');
$this->form_validation->set_rules('last_name', 'Last Name', 'trim|required|xss_clean|min_length[2]|max_length[20]|alpha');
$this->form_validation->set_rules('gender', 'Gender', 'trim|required|xss_clean|alpha');
和語句將數據添加到數據庫或返回如果驗證錯誤的規則規則失敗
if ($this->form_validation->run() == FALSE) //if validation rules fail
{
$this->load->view('edit_profile', $data);
}
else //success
{
$data = array (
'first_name' => $this->input->post('first_name'),
'last_name' => $this->input->post('last_name'),
'gender' => $this->input->post('gender')
);
$this->load->model('Profile_model');
$this->Profile_model->profile_update($data);
}
如何正確地創建這些子函數而不必在每個代碼中重複代碼?
這當然會出現在名爲controllers/edit.php的文件中。欲瞭解更多信息,我鼓勵您查看本站的控制器文檔:http://codeigniter.com/user_guide/general/controllers.html – 2011-05-31 18:03:32
謝謝你的例子!我忘記了CI的課程。我使用了'$ this - > _ common();'按照說明操作! :) – CyberJunkie 2011-05-31 18:14:57
很高興它的作品,並與您的網站祝你好運!我使用CodeIgniter相當多,我想你會發現它是一個方便的框架來使用。 – 2011-05-31 18:22:18