如何从视图页面向codeigniter中的控制器发送或发布数组

时间:2015-12-17 05:43:30

标签: php arrays codeigniter

在视图页面中我有一个数组

$flat=Array ( [0] => 1 [1] => LOGIN [2] => LOGIN_FIELD [3] => IF_LOGIN [4] => 20 [5] => 30 [6] => com.yodlee.common.FieldInfoSingle [7] => LOGIN [8] => User Name [9] => 1 [10] => [11] => [12] => 21884 [13] => [14] => [15] => PASSWORD [16] => LOGIN_FIELD [17] => IF_PASSWORD [18] => 20 [19] => 40 [20] => com.yodlee.common.FieldInfoSingle [21] => PASSWORD [22] => Password [23] => 1 [24] => [25] => [26] => 21885 [27] => [28] => [29] => 8899 )

我如何在我的控制器中获取此数组。我在同一个视图页面中使用form_open()。我可以通过这个吗?  我试过这个:

echo form_open('money_c/yodlogin');?>

username:<input type="text" name="uname"><br>
passord:<input type="password" name="pwd"><br>
<input type="hidden" name="flat[]" value="<?php echo $flat;?>">
<input type="submit" name="sub" value="submit">

<?php echo form_close();
控制器中的

:$ this-&gt; input-&gt; post(&#39; flat&#39;); 但我没得到。

2 个答案:

答案 0 :(得分:0)

可能需要foreach

foreach($flat as $flatVal) { ?>
    <input type="hidden" name="flat[]" value="<?php echo $flatVal;?>">
<?php }

甚至可以使用serialize之类的

<input type="hidden" name="flat" value="<?php echo serialize($flat);?>">

在您打印时,您必须unserialize

$flatArray = unserialize($this->input->post('flat'));

甚至可以使用json_encode之类的

<input type="hidden" name="flat" value="<?php echo json_encode($flat);?>">

在您打印时,您必须json_decode

$flatArray = json_decode($this->input->post('flat'));

答案 1 :(得分:0)

尝试使用json_encode或序列化方法

<?php
echo form_open('money_c/yodlogin');?>

username:<input type="text" name="uname"><br>
passord:<input type="password" name="pwd"><br>
<input type="hidden" name="flat" value="<?php echo json_encode($flat);?>">
<input type="submit" name="sub" value="submit">

<?php echo form_close();

在Cointroller中

$flat_str = $this->input->post('flat'); 
$flat_arr = json_decode($flat_str, true);