PHP: require_once для нескольких файлов, но выходит из строя

Я работаю над стартапом, которому нужен веб-сайт. Я делаю это, написав много отдельных php-файлов, а затем загрузив index.php для страницы каждый из них с помощью функции require_once('file.php') (параметры), и это работает очень хорошо (и всегда работало для меня ).

Я получаю очень своеобразную ошибку. Моя индексная страница выглядит примерно так:

<?php
require_once('load_heading.php');
require_once('load_header.php'); header(stuffs)
require_once('load_content.php'); content(foobar)
require_once('load_footer.php');
?>

На других моих страницах все работает совершенно нормально, но для этой конкретной страницы нижний колонтитул, который находится в load_footer.php, отображается в середине содержимого, которое load_content.php добавляет на страницу...

Кто-нибудь сталкивался с подобными ошибками или знает решение? Если это что-то значит, load_content.php извлекает информацию из базы данных и помещает ее так, чтобы она выглядела аккуратно.


person Utkash Dubey    schedule 17.07.2013    source источник
comment
Весьма вероятно, что есть проблема с генерируемым HTML   -  person Explosion Pills    schedule 18.07.2013
comment
Что вы пытаетесь показать? Я мог бы быть чем-то таким простым, как незакрытие div и т. д. Вы проверили, проверяется ли страница (или выдает больше ошибок на странице с проблемой)?   -  person Alex L    schedule 18.07.2013
comment
Могу поспорить: load_content.php require()s или include()s load_footer.php.   -  person Eugen Rieck    schedule 18.07.2013
comment
Хм, только что закончил двойную проверку тегов — все открывается и закрывается в нужном месте, и я ОПРЕДЕЛЕННО не требовал () или включал () load_footer.php в load_content.php. @Alex: я пытаюсь отобразить некоторые изображения, которые у меня есть в том же каталоге, - они отображаются без проблем. Я вставлю ссылку на скриншот веб-страницы, когда смогу (на работе, и они блокируют мой бесплатный DNS). Спасибо за вашу помощь.   -  person Utkash Dubey    schedule 18.07.2013


Ответы (1)


Я пока не могу комментировать из-за представителя. Вещи, которые я бы проверил в первую очередь:

  1. Проверьте исходный код HTML загруженной страницы. Иногда отсутствие закрывающего тега и т. д. может нарушить макет.
  2. Убедитесь, что вы не включили/не потребовали load_footer.php в файле load_content.php [это случается, просто дважды проверьте :)]
  3. Возможно, проблема в CSS с вашим нижним колонтитулом.
  4. Это могут быть ошибки PHP, поэтому поместите это в начало кода (или отредактируйте файл php.ini):

    ini_set('display_errors', 'On');
    error_reporting(E_ALL);
    
person Ishikawa91    schedule 17.07.2013
comment
1. Проверял это и несколько раз добавлял/вычитал ‹/div›, просто чтобы убедиться, что это не решает проблему. 2. Ха-ха, я бы хотел, чтобы это был этот... К сожалению, это не так :( 3. Я попробовал страницу без какого-либо CSS (избавился от div-идентификаторов, закомментировал все мои css), и это показывает то же самое. но barebones.Спасибо за ваш список, я продолжу его. - person Utkash Dubey; 18.07.2013
comment
Я немного поискал, проверьте настройки отчетов об ошибках PHP. Попробуйте поместить эти 2 строки вверху главной страницы: ini_set('display_errors', 'On'); отчет об ошибках (E_ALL); - person Ishikawa91; 18.07.2013
comment
Разобрался - цикл for, который закрывал мои таблицы, был установлен таким образом, что он не закрывал самую последнюю. Теперь он работает нормально. Спасибо за помощь! - person Utkash Dubey; 19.07.2013
comment
Рад, что смог помочь, без проблем. - person Ishikawa91; 19.07.2013