Вот ошибка:
Warning: Cannot modify header information - headers already sent by (output started at Q:\home\localhost\www\xak\add.php:7) in Q:\home\localhost\www\xak\add.php on line 44
вот кусок кода где есть header:
if ($text1 == false or $text2 == false or $text3 == false)
{
header('refresh: 3;url=add.php');
echo 'Заполните пожалуйста все поля. Через 3 секунды скрипт обновит страницу...';
}
До этого header'a нету никакого вывода с echo. Только пару переменных и HTML. Если убираю HTML - тоисть теги <html><head><title><link> то вре работает нормально.
Спустя 12 минут, 22 секунды (24.03.2010 - 11:03) jetistyum написал(а):
ну теги HTML то у тебя выводятся....
хедер посылается браузеру до начала вывода информации. и не может быть послан после хтмла, или чего-либо еще
хедер посылается браузеру до начала вывода информации. и не может быть послан после хтмла, или чего-либо еще
Спустя 41 секунда (24.03.2010 - 11:04) jetistyum написал(а):
у тебя там даже написано в какой строчке твоего скрипта начался вывод данных
Спустя 5 минут, 5 секунд (24.03.2010 - 11:09) krasilich написал(а):
Либо используй буферизацию вывода, либо меняй скрипт так, что бы никаких тегов не было до вызова функции header()
Спустя 6 минут, 6 секунд (24.03.2010 - 11:15) Guest написал(а):
тебе уже впринципе сказали в последнем посте, но так как ты новичек, то скажу по-другому:
найди на сервере файл php.ini
в строке output_buffering поставь on
найди на сервере файл php.ini
в строке output_buffering поставь on
Спустя 8 минут, 2 секунды (24.03.2010 - 11:23) krasilich написал(а):
Цитата |
найди на сервере файл php.ini в строке output_buffering поставь on |
Вот как раз это лучше и не стоит делать.
Идеальный вариант, часть кода, которая что-то выводит заключить в функции.
ob_start();
//тут мы выводим html в перемешку с php и шлем хедеры
ob_clean_flush(); //отсылаем все в браузер
Спустя 4 минуты, 42 секунды (24.03.2010 - 11:28) Guest написал(а):
krasilich
я сам не специалист, можешь объяснить чем output_buffering on плохо?
я сам не специалист, можешь объяснить чем output_buffering on плохо?
Спустя 8 минут, 29 секунд (24.03.2010 - 11:36) phz написал(а):
Спустя 7 минут, 54 секунды (24.03.2010 - 11:44) krasilich написал(а):
Потому что twin палкой по пальцам бьет того, кто пишет код, который зависит от внешних настроек=)
Вот захочет человек через полгода переместить ресурс на другой сервер. А там может и небыть доступа к php.ini если человек вообще вспомнит, что для того, что бы его код работал нужен output_bufering=on К тому же кто знает что у него там за вывод, если скрипт просто отдает файл на скачивание, его тоже в буфер?? А буфер-то не резиновый...
Вот захочет человек через полгода переместить ресурс на другой сервер. А там может и небыть доступа к php.ini если человек вообще вспомнит, что для того, что бы его код работал нужен output_bufering=on К тому же кто знает что у него там за вывод, если скрипт просто отдает файл на скачивание, его тоже в буфер?? А буфер-то не резиновый...
Спустя 1 час, 26 минут, 57 секунд (24.03.2010 - 13:11) koala написал(а):
phz спасибо. С помощью функции ob_start() все решилось.
Если писать:
То стили CSS не работают. Если писать только ob_strat(); то все работает нормально и стили применяются. Вопрос: Можно использовать ob_strat() без ob_clean() ?
Если писать:
<?php ob_start(); ?>
HTML
<?php
ob_clean();
Код.
?>
То стили CSS не работают. Если писать только ob_strat(); то все работает нормально и стили применяются. Вопрос: Можно использовать ob_strat() без ob_clean() ?
Спустя 6 минут, 48 секунд (24.03.2010 - 13:18) Guest написал(а):
krasilich
ну если из таких соображений, то все понятно, и в принципе логично, но все таки... не легче создать .htaccess и добавить для себя нужные по умолчанию параметры...
настройки по умолчанию ведь на разных хостингах все-таки немного отличаюся и я обращал внимание, на очень многих из них output_buffering не отключена. насчет резиного буффера, на сколько я знаю, можно ставить конкретное значение, например output_buffering 2000, если я не ошибаюсь! так что проблем быть не должно)
Но в общем я понял))
ну если из таких соображений, то все понятно, и в принципе логично, но все таки... не легче создать .htaccess и добавить для себя нужные по умолчанию параметры...
настройки по умолчанию ведь на разных хостингах все-таки немного отличаюся и я обращал внимание, на очень многих из них output_buffering не отключена. насчет резиного буффера, на сколько я знаю, можно ставить конкретное значение, например output_buffering 2000, если я не ошибаюсь! так что проблем быть не должно)
Но в общем я понял))
_____________
Vi Veri Veniversum Vivus Vici