Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > PHP: Общие вопросы > И снова о загаловках....


Автор: miki54 16.4.2010, 15:48
Код

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
    "http://www.w3.org/TR/html4/strict.dtd">

<?php

session_start();

?>


Как вы наверное догадались этот код вызовет ошибку: Cannot send session cache limiter - headers already sent

Но мне обязательно нужно и прописать DOCTYPE, и запустить сессию. Как мне поступить?
Запустить сессию в другом файле? smile 



PS зарание извеняюсь за то что эта тема со всех сторон обсосана, а мне такому нехорошему лень искать в старых темах и т.д. и т.п.

Автор: azesmcar 16.4.2010, 15:51
Код

<?php
    ob_start();
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<?php
    session_start();
    ob_end_flush();
?>

Автор: miki54 16.4.2010, 16:04
Вроде работает, спасиб. 

Автор: bars80080 16.4.2010, 17:42
Цитата(miki54 @  16.4.2010,  15:48 Найти цитируемый пост)
Но мне обязательно нужно и прописать DOCTYPE, и запустить сессию. Как мне поступить?
Запустить сессию в другом файле?

просто запустить её раньше, чем отдать любой хтмл-текст

Автор: miki54 16.4.2010, 18:05
Цитата

просто запустить её раньше, чем отдать любой хтмл-текст


не получится, DOCTYPE должен быть первым, иначе не работает.

Автор: bars80080 16.4.2010, 19:07
Цитата(miki54 @  16.4.2010,  18:05 Найти цитируемый пост)
не получится, DOCTYPE должен быть первым, иначе не работает. 

что-то не правильно построено. у меня к примеру всё работает. вначале запускается сессия, потом идёт очень много кода, в котором принимается решение что будет показано и будет ли вообще показано или может стоит выбросить какой-нибудь заголовок с ошибкой, и только в самом конце собирается из отдельных частей страница, которая записывается в шаблон с доктайпом в самый последний момент.
и только потом echo $html;

так что всё можно, надо всего лишь понять что хочется получить и как.

Автор: nerezus 17.4.2010, 10:49
На всю итоговую страницу должна быть только одна echo. Которая выведет переменную с контентом страницы.
Это серьезно упростит тебе жизнь.

Автор: miki54 7.5.2010, 10:26
Цитата

На всю итоговую страницу должна быть только одна echo. Которая выведет переменную с контентом страницы.
Это серьезно упростит тебе жизнь.


попробую как нибуть

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)