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

时间:2016-02-19 08:14:15

标签: php mysql codeigniter session

如何使用我在视图中使用的表单将会话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"/>'); 

2 个答案:

答案 0 :(得分:1)

试试这个:

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"/>'); 

注意:在哪里&#39; id&#39;在表单将被提交时,form_input函数的第一个参数可以替换为您想要传递的任何名称。

答案 1 :(得分:0)

在控制器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

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