За последние 24 часа нас посетили 55773 программиста и 1776 роботов. Сейчас ищут 884 программиста ...

Проблема с session_start()

Тема в разделе "PHP для новичков", создана пользователем Ksuha000, 16 авг 2013.

  1. Ksuha000

    Ksuha000 Новичок

    С нами с:
    7 авг 2013
    Сообщения:
    44
    Симпатии:
    0
    Здравствуйте! Такая проблемка. На всех страницах сайта выскакивает одна и та же ошибка 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. Как избавиться от этой ошибки?
     
  2. MiksIr

    MiksIr Активный пользователь

    С нами с:
    29 ноя 2006
    Сообщения:
    2.339
    Симпатии:
    44
    Проверить что файл без BOM.
     
  3. Ksuha000

    Ksuha000 Новичок

    С нами с:
    7 авг 2013
    Сообщения:
    44
    Симпатии:
    0
    То, что файл без BOM, я проверяла через notepad, пересохраняла в utf-8 без BOM. Но тогда съезжает кодировка на самих страницах, вместо русских букв выводит каракули какие-то. Приходится при переходе на новую страничку, каждый раз переставлять кодировку в мозиле вручную. Как тогда поступить?
     
  4. YSandro

    YSandro Старожил

    С нами с:
    7 апр 2011
    Сообщения:
    2.523
    Симпатии:
    2
    Выводите ещё один заголовок в начале документа
    Код (PHP):
    1. <?php
    2. header("Content-type: text/html; charset=utf-8");
     
  5. Ksuha000

    Ksuha000 Новичок

    С нами с:
    7 авг 2013
    Сообщения:
    44
    Симпатии:
    0
    В таком случае выводит следующую ошибку!
    Warning: Cannot modify header information - headers already sent by...
     
  6. YSandro

    YSandro Старожил

    С нами с:
    7 апр 2011
    Сообщения:
    2.523
    Симпатии:
    2
    Да, так предсказуемо. Я даже проверил у себя, т.к. ожидал того же, но у меня почему-то сработало.
    А если поменять местами
    Код (PHP):
    1. <?php
    2. header("Content-type: text/html; charset=utf-8");
    проверьте, создаются ли сессии. А то у меня работает.
    Кстати, перепроверьте, чтобы точно не было BOM.
     
  7. Ksuha000

    Ksuha000 Новичок

    С нами с:
    7 авг 2013
    Сообщения:
    44
    Симпатии:
    0
    Все тоже получается. А как правильно перепроверить, что нет ВОМ? Я просто пересохраняла в notepad: "преобразовать в utf-8 без ВОМ. может нужно по-другому делать! Как?
     
  8. smitt

    smitt Старожил

    С нами с:
    3 янв 2012
    Сообщения:
    3.166
    Симпатии:
    65
    Разве будет съезжать кодировка если был UTF без BOM и пересохранить в UTF?
    Очень сомневаюсь... странно... редактор какой то стремный...
     
  9. Ksuha000

    Ksuha000 Новичок

    С нами с:
    7 авг 2013
    Сообщения:
    44
    Симпатии:
    0
    Но съезжается же. Я пользуюсь PSPad.
     
  10. smitt

    smitt Старожил

    С нами с:
    3 янв 2012
    Сообщения:
    3.166
    Симпатии:
    65
    Попробуйте открыть еще раз в notepad++ в нижнем правом углу какая кодировка?
    Может есть 1 файл в UTF BOM который ко всем подключается?
    Проверяли?
     
  11. artoodetoo

    artoodetoo Суперстар
    Команда форума Модератор

    С нами с:
    11 июн 2010
    Сообщения:
    11.128
    Симпатии:
    1.248
    Адрес:
    там-сям
    Избавляться надо от BOM, к гадалке не ходи!
    Кто сказал "notepad++"? Ксюха использует notepad без плюсов, который один сплошной минус. И еще какой-то хз-что-за-пад. качать правильный редактор
     
  12. YSandro

    YSandro Старожил

    С нами с:
    7 апр 2011
    Сообщения:
    2.523
    Симпатии:
    2
    artoodetoo, в простом notepad нет такой опции "преобразовать в utf-8 без ВОМ", она именно в Notepad++.
    Так что скорей всего в индексном файле эти 3 байта или вообще пробелы.
     
  13. artoodetoo

    artoodetoo Суперстар
    Команда форума Модератор

    С нами с:
    11 июн 2010
    Сообщения:
    11.128
    Симпатии:
    1.248
    Адрес:
    там-сям
    пардон, он(а) писал(а) То, что файл без BOM, я проверяла через notepad
     
  14. Ksuha000

    Ksuha000 Новичок

    С нами с:
    7 авг 2013
    Сообщения:
    44
    Симпатии:
    0
    Внизу в углу стоит такая надпись: ANSI as UTF-8. Не то что-то, да?
    Да, notepad++
     
  15. YSandro

    YSandro Старожил

    С нами с:
    7 апр 2011
    Сообщения:
    2.523
    Симпатии:
    2
    То, верно. (Если с BOM, то было бы написано просто "UTF-8".)
    Вот этот код, что в первом посте, он в документе, который к чему-то подключается, к индексному файлу, например?
     
  16. Ksuha000

    Ksuha000 Новичок

    С нами с:
    7 авг 2013
    Сообщения:
    44
    Симпатии:
    0
    Нет, тот код, что я писала в начале, это самостоятельная страничка, к ней подключаются файлы header.php и footer.php, они подключаются ко всем файлам, которые есть на сайте.
     
  17. YSandro

    YSandro Старожил

    С нами с:
    7 апр 2011
    Сообщения:
    2.523
    Симпатии:
    2
    Вот попадос-то. Ну сохраните где-нибудь в файлообменнике или фтп, чтобы мы посмотрели. Если, конечно, там не конфиденциальная информация.
     
  18. smitt

    smitt Старожил

    С нами с:
    3 янв 2012
    Сообщения:
    3.166
    Симпатии:
    65
    Мне тож что то интересно стало, выкладывайте посмотрим :)
     
  19. Ksuha000

    Ksuha000 Новичок

    С нами с:
    7 авг 2013
    Сообщения:
    44
    Симпатии:
    0
    http://rusfolder.com/37639161 ссылка на скачивание. Не судите строго=))
     
  20. smitt

    smitt Старожил

    С нами с:
    3 янв 2012
    Сообщения:
    3.166
    Симпатии:
    65
    index.php c BOM :)
     
  21. Ksuha000

    Ksuha000 Новичок

    С нами с:
    7 авг 2013
    Сообщения:
    44
    Симпатии:
    0
    Спасибо, пропустила видать( Сейчас пересохранила через notepad и полетела кодировка на этой странице(
     
  22. smitt

    smitt Старожил

    С нами с:
    3 янв 2012
    Сообщения:
    3.166
    Симпатии:
    65
    Не хочу огорчать но BOM везде:)
     
  23. YSandro

    YSandro Старожил

    С нами с:
    7 апр 2011
    Сообщения:
    2.523
    Симпатии:
    2
    Как же. Вот у вас
    , но это полбеды. В индексном файле создаётся (ну, должна создаваться) сессия с помощью session_start(). Зачем тогда пытаться ещё создавать сессии в инклудах header.php, menu.php, recl.php и даже в footer.php?!
     
  24. Ksuha000

    Ksuha000 Новичок

    С нами с:
    7 авг 2013
    Сообщения:
    44
    Симпатии:
    0
    даааа, сама уже видела! но теперь отображает хреново, по-крайней мере у меня! а у вас?
     
  25. YSandro

    YSandro Старожил

    С нами с:
    7 апр 2011
    Сообщения:
    2.523
    Симпатии:
    2
    Давайте заново, проверьте индексный файл, добавьте
    Код (PHP):
    1. <?php
    2. header("Content-type: text/html; charset=utf-8");