Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/codeigniter/3.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
我的PHP回音位于页面顶部_Php_Codeigniter_Buffer_Echo - Fatal编程技术网

我的PHP回音位于页面顶部

我的PHP回音位于页面顶部,php,codeigniter,buffer,echo,Php,Codeigniter,Buffer,Echo,我正在使用Codeigniter,并且已经定义了包含我的布局的我自己的控制器 protected $layout = 'layout'; protected function render($content) { $view_data = array( 'content' => $content ); $this->load->view($this->layout,$view_data); } 所有控制器都通过调用视图来定义自己的内容 class V

我正在使用Codeigniter,并且已经定义了包含我的布局的我自己的控制器

protected $layout = 'layout';
protected function render($content) {
  $view_data = array(
    'content' => $content
  );
  $this->load->view($this->layout,$view_data);
}
所有控制器都通过调用视图来定义自己的内容

class Voyage extends My_Controller {
    function index(){
        $this->load->helper('form');
        $this->load->helper('url');
        $content = $this->load->view('admin\voyages');
        $this->render($content);
    }
我的html页面如下所示:

<body>
<header>.....</header>
<nav>......</nav>
<section>.. <?php echo $content; ?>...</sectiont>

.....
......
.. ...
问题是我的echo$content将内容放在页面顶部的header et nav元素之前

你能帮我吗

$content = $this->load->view('admin\voyages');
应该是:

$content = $this->load->view('admin\voyages', '', true);

如果要将其加载到变量中。您正在执行的操作会立即渲染它

,这似乎是一个典型的缓存问题。尝试在开发过程中禁用缓存,或者至少清空缓存和/或强制重新加载页面;不久前我也遇到了一个问题,CodeIgniter似乎会将所有
load-view()
调用堆叠起来,有时会触发错误安排的输出。在我的情况下,它突然自己解决了(我认为也清空了cachce)。否则,可能是CodeIgniter在一次控制器调用中从不同的类中获取
load->view()
时出现问题。您确定这不是CSS的问题,例如
float:left
或其他问题吗?顺便问一下,你能发布
voyages.php
layout.php
内容吗?