Представления буферизируются.Когда вы выводите что-либо непосредственно в контроллер, оно отправляется до , когда буфер очищается (следовательно, до того, как вывод, содержащий представление, отправляется в браузер), поэтому он появляется перед чем-либо.
Вы не должны этого делать (отправляя прямой вывод / выводя что-то за пределами представлений), вы рискуете столкнуться с проблемами, как только вы используете что-либо, связанное с заголовками (перенаправление, файлы cookie, сеансы CI ...)
ОБНОВЛЕНИЕ:
Чтобы исправить это, просто присвойте все эти строки переменной (как показал Джефф) и отправьте это в представление:
$data['form'] = $row->firstname . " " . $row->lastname;
$data['form'] .= "<form method='GET' action='processing/lib/process-send-friend-request.php?'>";
$this->load->view('formview',$data);
Там вы просто выводите форму $и все ваши строки будут выводиться правильно.
РЕДАКТИРОВАТЬ: все выше, если вы находитесь внутри контроллера.Если вы находитесь в модели, просто назначьте все переменной и верните ее контроллеру:
function regularDashboard()
{
$form = $row->firstname . " " . $row->lastname;
$form .= "<form method='GET' action='processing/lib/process-send-friend-request.php?'>";
return $form;
}
В контроллере:
$data['form'] = $this->model->regularDashboard();
$this->load->view('formview',$data);
Если вы позволите мне, я 'Я предлагаю написать форму непосредственно в представление , без хлопот (и структурной ошибки) создания чего-то, что должно быть "представлением" вне сторон.