Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/spring-boot/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
从另一个视图中加载带有表单的codeigniter视图_Codeigniter - Fatal编程技术网

从另一个视图中加载带有表单的codeigniter视图

从另一个视图中加载带有表单的codeigniter视图,codeigniter,Codeigniter,使用codeigniter,我尝试在foreach循环中加载一个视图,如下所示: $posts = $this->postslibrary->getAllPosts(); foreach($posts as $post){ $home['content'][$i] = $this->load->view('post', $post['data'], true); $i++; } $this->load->view('head'); $this->

使用codeigniter,我尝试在foreach循环中加载一个视图,如下所示:

$posts = $this->postslibrary->getAllPosts();
foreach($posts as $post){
  $home['content'][$i] = $this->load->view('post', $post['data'], true);
  $i++;
}
$this->load->view('head');
$this->load->view('home', $home);
$this->load->view('footer');
每个帖子视图都有点像这样:

<div class="postnum<?=$post_num?>">
  <p>Posted by: <?=$poster_name?></p>
  <p>Reply to: <?=$poster_name?></p>
  <form>
  <input type='text' />
  <input type='submit' />
  </form>
</div>

检查当前表单周围是否已有表单。Chrome是一种浏览器,它不接受这一点,并删除了第二种形式。在表单中使用表单是一种不好的做法,我建议您找到一种不同的解决方案来处理表单。

答案略偏左,但请看一看。我已经使用过几次了,它似乎非常适合从数组生成表单。这是一个有点棘手的让你的头周围开始,但它的工作很好,一旦你已经进入它


基本思想是从普通控制器实现表单控制器,然后将其输出到视图文件中。对于您正在尝试的内容,它可能是一个更优雅(更可持续)的解决方案。

您也可以发布主视图文件的php代码。我想看看你们是如何处理$home数据的——问题可能就在这里。你们试过给你们的表单一些属性吗?您使用的浏览器是chrome吗?可能是您必须对表单标记()执行操作。对于这种特定的东西,您应该粘贴实际的代码,而不是它看起来的样子。我会寻找的东西:匹配开始和结束标记,匹配“”,从数据中随机引用。这样的编程也太复杂了。只需将代码放在视图中。复杂性==容易出错。从我对chrome的了解来看,他会删除任何非标准的工作属性,这在我身上发生过一次。。所以我认为你应该像@MichaelOzeryansky说的那样,努力使你的形式更加标准化。这件事今天发生在我身上,我记得一两天前你的问题。我试图将一个表单加载到另一个表单中,但内部表单被删除。我不知道CI是在删除它还是在删除浏览器(尽管我认为是浏览器)。您可以检查是否无意中尝试嵌套表单。
<div ="posts">
  <?php
    for($i=0;$i<$count;$i++)
    {
      echo($content[$i]);
    }
  ?>
  <div class="clear"></div>
  <a href='/posts/browse/'>Load more items</a>
</div>
<div class='posts'>
  <div class='postnum1'>
    <p>Posted By: Jim</p>
    <p>Reply to Jim</p>
    <input type='text' />
    <input type='submit' />
  </div>
</div>