Всем привет, вот пишу самописный сайт, и при перенаправлении, сервер отвечает: Если просто сделать страничку, и написать в ней: PHP: <?php header("Location http://site.ru"); ?> то всё прекрасно работает, но если на сайте используется дополнительный код, то вылезает ошибка, написанная выше.
Посылать заголовки надо до вывода тела. Даже когда ты одну строчку с эхо делаешь - на автомате определённые заголовки посылаются. PHP: echo 'Шуруповёрт!'; header("Location http://site.ru"); в итоге PHP: Warning: Cannot modify header information - headers already sent by (output started at ----\----\----\www\index.php:3) in ----\-----\------\www\class\refresh.php on line 2 правильно PHP: header("Location http://site.ru"); echo 'Шуруповёрт!';
Вообще, в таком случае можно сделать еще и так: PHP: ob_start(); echo 'Шуруповёрт!'; header("Location http://site.ru"); Тогда тоже все будет окей, так как вывод буферизован и ПХП сможет модифицировать пока еще не отосланные заголовки.
Ну да, можно. Ток это костыль дикий ). Через месяц-два уже придётся удивляться, что ж скрипты то через жопу работают )
Хедеры надо писать еще до любого хтмл. ТОгда норм работают. Замечал много цмс-ок с этой ошибкой - приходилось самому переделывать. Вот мне интересно: это везде так или у тех кто писал эти цмс-ки все как-то работало?