У меня есть стабильный php-код на моем сайте в файле findRecords.php
, как показано ниже:
// inside findRecords.php....
<HTML>
<head>
<?php
include 'titleBar.php';
include 'topNavigationBar.php';
?>
</head>
require 'varsAndStatics.php'; // variables and statics used throughout
// other html in findRecords.php not shown here for brevity.....
Внутри моего topNavigationBar.php
я вывожу HTML-код для навигации по каждой странице.бар, вдоль строк:
<div class="pageTopRowContainerLabel">
<a class="pageTopRowTextStyle"
href="http://localhost/myProj/index.php">HOME</a>
</div>
// more nav bar divs not shown....
Внутри findRecords.php Я делаю простой поиск в базе данных и получаю некоторые записи и намерен отобразить эти записи в браузере, используя header()
для переключения на другойстраница, которая отображает эти записи (showRecords.php
).
Если вы заметили выше, вы можете увидеть выше, что в findRecords.php
заголовок html уже был отправлен с некоторыми html div, используемыми для отображения моей панели навигации, с помощью оператора include 'topNavigationBar.php'.
Затем у меня есть вызов header () внутри этого же файла findRecords.php
для реализации Post / Redirect / Get:
header("Location: http://localhost/myProj/showRecords.php", true, 303);
Вышеописанное работает отлично. После нахождения записей в базе данных я header()
перешел на showRecords.php
для их отображения.
Хорошо, теперь я просто добавил heredoc в varsAndStatics.php, который был включен все выше в findRecords.php (смотри выше).Теперь я добавляю следующий heredoc к долговременному стабильному файлу varsAndStatics.php:
echo <<<_RIDOFWHITESPACE
<br />
<script type="text/javascript">
function ridOfWhiteSpace(theFormElementFieldValue, bLtrsOnly, bLtrsNumsOnly)
{
// Remove whitespace
if(theFormElementFieldValue.indexOf(" ")!=-1)
{
var doozh = theFormElementFieldValue.split(" ").join("");
theFormElementFieldValue = doozh;
}
return theFormElementFieldValue;
}
</script>
_RIDOFWHITESPACE;
Теперь мой вызов на header()
выше в f indRecords.php
прерывается с Заголовком, уже отправленным ошибка.
Я не знаю, почему heredoc сломал этот стабильный код.ПОСЛЕ ВСЕГО - этот вызов header()
и штрих-код навигационной системы были там некоторое время!
Я говорю следующее: страница, отправленная findRecords.php
, отправляет элементы навигационной панели из-заinclude topNavigationBar.php
- и затем я вызываю header()
- , что код работал довольно долго.
По моему мнению, потому что был отправлен вывод вбраузер (topNavigationBar.php
div), когда я вызываю header()
в старом стабильном коде, добавление heredoc()
в varsAndStatics.php
не должно нарушать код.
Есть ли тонкость, которую я здесь упускаю?