将会话用户数据插入 CodeIgniter 中的新数据库中


Insert session userdata into a new database in CodeIgniter

我将如何使用我视图中的表单将会话 userdate id插入到我的新表中,以便我可以将id用作外键?

控制器:

function validate_credentials() {
    $this->load->model('member_model');
    $query = $this->member_model->validate();
    if ($query) { // if user credentials validate the user session start
        $data = array(
            'username' => $query->username,
            'id' => $query->id,
            'first_name'=>$query->first_name,
            'is_logged_in' => true
        );
        $this->session->set_userdata($data);
        redirect('members/members_area');
    } else {
        $this->index();
        echo 'Incorrect Password or Username';
    }
}

视图:

echo form_open('banks/create_bank');
echo form_input('bank_name', set_value('bank_name', 'Account Name'));
echo form_input('interest', set_value('interest', 'Interest'));
echo form_input('start_amount', set_value('start_amount', 'Starting Balance'));
echo form_input('length', set_value('length', 'Length'));
echo form_submit('submit', 'Create Account')
echo validation_errors('<p class="error"/>'); 

试试这个:

echo form_open('banks/create_bank');
echo form_input('bank_name', set_value('bank_name', 'Account Name'));
echo form_input('interest', set_value('interest', 'Interest'));
echo form_input('start_amount', set_value('start_amount', 'Starting Balance'));  
echo form_input('length', set_value('length', 'Length'));
**echo form_input('id', set_value('id', $this->session->userdata('id'));**
echo form_submit('submit', 'Create Account')
echo validation_errors('<p class="error"/>'); 

注意:其中form_input函数的第一个参数中的"id"可以替换为提交表单时要传递的任何名称。

在控制器中使用的方法中banks处理来自 from 的发布数据。

添加类似以下内容:

$data = array('bank_name' => $this->input->post('bank_name'), // add more post data
              'id' => $this->session->userdata('id') ); //this will take the 
                                                 //value 'id' from session

并将其传递给您各自的模型。