Здравствуйте! Такая проблемка. На всех страницах сайта выскакивает одна и та же ошибка Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent.... с указанием на первую строку каждой страницы. Вот код: <?php session_start(); ?> <?php $tov="SCR-218"; $cena="844" ?> <html> <head><meta http-equiv="content-type" content="text/html; charset=utf-8"> <meta name="generator" content="PSPad editor, http://www.pspad.com"><title></title> <link rel="stylesheet" href="style.css" type="text/css" media="screen, projection" /> </head> <body> <?php include ("header.php"); ?> <div id="osn"> <?php include ("menu.php"); ?> <div id="centr">....и т.д. Использую PSPad, все в кодировке utf-8. Как избавиться от этой ошибки?
То, что файл без BOM, я проверяла через notepad, пересохраняла в utf-8 без BOM. Но тогда съезжает кодировка на самих страницах, вместо русских букв выводит каракули какие-то. Приходится при переходе на новую страничку, каждый раз переставлять кодировку в мозиле вручную. Как тогда поступить?
Выводите ещё один заголовок в начале документа Код (PHP): <?php session_start(); header("Content-type: text/html; charset=utf-8");
В таком случае выводит следующую ошибку! Warning: Cannot modify header information - headers already sent by...
Да, так предсказуемо. Я даже проверил у себя, т.к. ожидал того же, но у меня почему-то сработало. А если поменять местами Код (PHP): <?php header("Content-type: text/html; charset=utf-8"); session_start(); проверьте, создаются ли сессии. А то у меня работает. Кстати, перепроверьте, чтобы точно не было BOM.
Все тоже получается. А как правильно перепроверить, что нет ВОМ? Я просто пересохраняла в notepad: "преобразовать в utf-8 без ВОМ. может нужно по-другому делать! Как?
Разве будет съезжать кодировка если был UTF без BOM и пересохранить в UTF? Очень сомневаюсь... странно... редактор какой то стремный...
Попробуйте открыть еще раз в notepad++ в нижнем правом углу какая кодировка? Может есть 1 файл в UTF BOM который ко всем подключается? Проверяли?
Избавляться надо от BOM, к гадалке не ходи! Кто сказал "notepad++"? Ксюха использует notepad без плюсов, который один сплошной минус. И еще какой-то хз-что-за-пад. качать правильный редактор
artoodetoo, в простом notepad нет такой опции "преобразовать в utf-8 без ВОМ", она именно в Notepad++. Так что скорей всего в индексном файле эти 3 байта или вообще пробелы.
То, верно. (Если с BOM, то было бы написано просто "UTF-8".) Вот этот код, что в первом посте, он в документе, который к чему-то подключается, к индексному файлу, например?
Нет, тот код, что я писала в начале, это самостоятельная страничка, к ней подключаются файлы header.php и footer.php, они подключаются ко всем файлам, которые есть на сайте.
Вот попадос-то. Ну сохраните где-нибудь в файлообменнике или фтп, чтобы мы посмотрели. Если, конечно, там не конфиденциальная информация.
Спасибо, пропустила видать( Сейчас пересохранила через notepad и полетела кодировка на этой странице(
Как же. Вот у вас , но это полбеды. В индексном файле создаётся (ну, должна создаваться) сессия с помощью session_start(). Зачем тогда пытаться ещё создавать сессии в инклудах header.php, menu.php, recl.php и даже в footer.php?!
Давайте заново, проверьте индексный файл, добавьте Код (PHP): <?php session_start(); header("Content-type: text/html; charset=utf-8");