从视图到控制器的Codeigniter数据

时间:2017-10-28 18:31:01

标签: php codeigniter codeigniter-3

每个用户都有多个配置文件。一旦他们登录,他们就会被要求选择个人资料,

这是Form选择个人资料的代码。

        <div class="row">
        <div class="col-md-4 col-md-offset-4">
            <div class="login-panel panel panel-default">
                <div class="panel-heading">
                    <h3 align ="center" class="panel-title">Select Profiles</h3>
                </div>
                <div class="panel-body">
                    <?php
                        foreach($resJacs->{'details'} as $key) {
                            echo form_open('selectaccess', array(
                                'class' => 'form-group',
                                'role' => 'form'
                            ));
                            echo form_submit(array(
                                'value' => $key->profile_name,
                                'name' => $key->profile_type,
                                'class' => 'btn btn-lg btn-default btn-block'
                            ));
                            echo form_close();
                        }
                    ?>
                </div>
            </div>
        </div>
    </div>

当用户选择配置文件配置文件时,会将id传递给会话以供以后使用。这是&#34; selectaccess&#34;,

的代码
    public function SelectAccess() {
    $sess_data = array(
        'id' => $this->session->userdata['is_logged_in']['id'],
        'prfid' => $this->input->post('')
    );

    print_r($sess_data);
}

如何在selectaccess方法中提到prfid。

2 个答案:

答案 0 :(得分:0)

我只想举个例子,也许这可以帮到你:

我使用纯HTML。

<form action="SelectAccess/<?php echo $id; ?>">
<input type="text" name="name">
<button type="submit">Submit</button>
</form>

控制器

function SelectAccess($val='') {
$input = $this->input->post('name');
$_SESSION['whatever'] = $val;
}

答案 1 :(得分:0)

通常,您需要知道字段的名称才能获得控制器的值。但是你正在动态创建字段名称,以免变得棘手。

幸运的是,您只发布了一个输入,因此$_POST应该只有一个项目。撰写视图的方式$_POST[0]的值将由$key->profile_name提供。希望,这个价值是你正在寻找的。

public function SelectAccess() {
{
    $sess_data = array(
        'id' => $this->session->userdata['is_logged_in']['id'],
        'prfid' => isset($_POST[0])) ? $_POST[0] : NULL;
    );
}