如何在代码点火器中将数组值从视图发送到控制器

时间:2016-05-06 18:32:20

标签: php codeigniter

我需要从视图向控制器发送值数组,我可以选择使用隐藏字段提交表单,但我不想通过火灾查看我的隐藏字段值或查看源代码

任何其他选项对我有帮助

2 个答案:

答案 0 :(得分:0)

If i got it clearly. you can use session set_userdata()  
View:-
$data = array(  
        'a'  => 'some value',  
        'b'  => 'another value'  
);  
$this->session->set_userdata($data);

Controller:-

$a = $this->session->userdata('a');  
$b = $this->session->userdata('b');  

答案 1 :(得分:0)

如果要将数据从视图发送到控制器,我认为您的数据来自表单,例如

view.php

<?= form_open('test_form/test_post', '', array('hidden_1' => 'value1', 'hidden_2', 'value_2'))?>
    <?= form_hidden('hidden_3', 'value3');?>
    <?= form_input('username', 'default_value');?><br>
    <?= form_input('phone', '555-555');?><br>
    <?= form_submit('submit', 'Send');?>
<?= form_close();?>

controller test_form.php

public function test_form(){
    $hidden1    = $this->input->post('hidden_1', TRUE);
    $hidden2    = $this->input->post('hidden_2', TRUE);
    $hidden3    = $this->input->post('hidden_3', TRUE);
    $username   = $this->input->post('username', TRUE);
    $phone      = $this->input->post('phone', TRUE);

    echo "1 - $hidden1<br>2 - $hidden2<br>3 - $username<br>4 - $phone";
}

或者您可以将每个输入的名称更改为数组中的变量 view.php

<?= form_hidden($values[], 'value3');?>
<?= form_input($values[], 'default_value');?><br>
<?= form_input($values[], '555-555');?><br>

并在你的ocntroller中创建一个var_dump帖子