Кажется, я встречал эту проблему раньше, под другим видом. Когда файл «включался» в мой основной файл php перед началом сеанса в том же основном файле php, я получал ошибку «заголовки уже отправлены», потому что мой включенный php имел пустую строку в начале, которая была как-то отправлено, прежде чем что-либо должно быть отправлено. Удалить пустую строку, «проблема решена» …
Теперь у меня есть эта штука Ajax, где я сканирую определенную строку, возвращенную php. Строка, которую я жестко закодировал в этом php для возврата в обратный вызов ajax, была строкой «alert», которую никогда не видели. Я сканирую то, что получает обратный вызов, и угадайте, что? Он имеет символ 10, начинающий мою 5-символьную строку «alert».
Звучит знакомо? да, у меня было включение перед «echo (» alert «);», и этот файл include начинался с пустой строки (тоже! почему я продолжаю делать это ???). Удалите строку, и теперь я больше не получаю символ 10 (ascii «новая строка», а?), Начинающий мою строку «оповещения».
Вопрос: почему php отображает символ «новой строки», который никогда не был «отражен» формально вместе с моей тщательно созданной строкой? Это мой баг или php? Заранее спасибо.
Все не внутри вашего <?php ... ?>
теги обрабатываются как текст и отправляются клиенту. Поэтому убедитесь, что в исходных файлах нет пустых строк …
Изменить: Цель этого состоит в том, чтобы иметь простой способ смешать HTML-файл с частями PHP-кода без необходимости явного отображения всех HTML-элементов …
Других решений пока нет …