将数组数据从视图传递到控制器和反向php codeigniter

将数组数据从视图传递到控制器和反向php codeigniter,php,codeigniter,post,Php,Codeigniter,Post,我试图使用php codeigniter将数据从视图传递到控制器。以下是我的表单视图: <form method="POST" action="<?php echo base_url()?>downloadfiles"> <p>Download file</p> <p>Browse zip file</p> <input type="text" name

我试图使用php codeigniter将数据从视图传递到控制器。以下是我的表单视图:

<form method="POST" action="<?php echo base_url()?>downloadfiles">
    <p>Download file</p>                    
    <p>Browse zip file</p> 
    <input type="text" name="data" value="<?= $data; ?>" style="display: none">                                     
    <input type="submit" name="downloadfiles" value="Download" />
</form> 
这是我在download_success.php中的代码:

<?php                
    if(!empty($data))
    {
       print_r($data);
    }
?>


当我在form视图中运行代码时,它返回错误数组到字符串的转换,而在download_success视图中,它没有打印任何内容。我哪里错了?

这是因为您正在传递一个带有视图的字符串变量,而CODENIDENT将其视为数组。 MyController.php

if ($this->input->post('downloadfiles')) {
    $view_data = array('my_data' => $this->input->post('data') );          
    $this->load->view('upload/download_success', $view_data);
}
my_view.php

if(!empty($my_data))
{
   print_r($my_data);
}
您的表单如下所示:

//如果$my_data是一个数组,则可以打印\r($my_data)并显示要在视图中显示的所需值

<form method="POST" action="<?php echo base_url()?>downloadfiles">
    <p>Download file</p>                    
    <p>Browse zip file</p> 
    <input type="text" name="data" value="<?=$my_data?>">                                     
    <input type="submit" name="downloadfiles" value="Download" />
</form>

在控制器中替换
$data=$\u POST['data']
带有$data=array('my_data'=>$\u POST['data'])
并在视图中将
$data
替换为“$my_data”,它返回了相同的错误。我已在下面的回答中更新了脚本。我还在表单中打印了$my_data数组,以测试数组中的数据。它打印正确。但是在my_view.php中,它不打印任何内容。嘿,更新的是我在本地系统上执行的代码,但它没有给我这个错误。好的,你是收到错误还是只是空的
$my_data
?它只返回空的$my_数据。在你的表单中,你使输入字段隐藏,那么你如何在其中传递值呢?
<form method="POST" action="<?php echo base_url()?>downloadfiles">
    <p>Download file</p>                    
    <p>Browse zip file</p> 
    <input type="text" name="data" value="<?=$my_data?>">                                     
    <input type="submit" name="downloadfiles" value="Download" />
</form>