За последние 24 часа нас посетили 27843 программиста и 1815 роботов. Сейчас ищут 1111 программистов ...

Сессии не работают. Что за ......?

Тема в разделе "PHP для новичков", создана пользователем snug, 18 июн 2008.

  1. snug

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

    С нами с:
    8 июн 2008
    Сообщения:
    31
    Симпатии:
    0
    Адрес:
    Донецк
    Здравствуйте господа программисты и просто любители . )
    Образовался вопрос по сессиям. Достал я каталог для сайта, состоит он из 14 страниц, 8 из них для админа (коррекция, добавление удаление и т.п.). Для входа в админ панель нужно вводить пароль и логин, после правильного ввода создаётся сессия $_SESSION['ok']=1. На каждой странице админ панели стартуется сессия и в середине файла идёт проверка if ((isset($_SESSION['ok'])) && ($_SESSION['ok']==1)) . Если проверка проходит положительно открывается панель редактирования каталога, если нет, выводится надпись "У вас нет доступа к этой странице!"
    Так вот, я сделал этот каталог через инклюд и у меня пропали сессии, выдаёт "У вас нет доступа к этой странице!"
    Внимание вопрос: Куда они подевались?

    Спросил у одного человека, он сказал что нужно сессии запускать перед заголовками. Но о каких заголовках шла речь я не понял. Может кто подскажет?
     
  2. [vs]

    [vs] Суперстар
    Команда форума Модератор

    С нами с:
    27 сен 2007
    Сообщения:
    10.559
    Симпатии:
    632
    Сессия должна стартовать всамом начале скрипта
     
  3. nimistar

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

    С нами с:
    30 май 2007
    Сообщения:
    919
    Симпатии:
    0
    тоесть вставляй инклуд после старта сессии
     
  4. EvelRus

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

    С нами с:
    16 ноя 2006
    Сообщения:
    2.168
    Симпатии:
    0
    Адрес:
    Москва
    т.е. до вывода любой инфы в браузер :)
     
  5. nimistar

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

    С нами с:
    30 май 2007
    Сообщения:
    919
    Симпатии:
    0
    Nemo - что "до вывода инфы в браузер" ?? сессию стартовать ?? так об этом уже написали! ...
     
  6. [vs]

    [vs] Суперстар
    Команда форума Модератор

    С нами с:
    27 сен 2007
    Сообщения:
    10.559
    Симпатии:
    632
    nimistar
    Если быть точным, то не обязательно в самом начале скрипта, главное до отправки тела документа в браузер.

    snug
    Скрипт A вместе с проинклюденым в него скриптом B выполняются как один скрипт. Если в скрипте B не работает сессия, значит до вствки его в скрипт A, скрипт A выводит какую-то информацию в браузер.
     
  7. DarkElf

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

    С нами с:
    22 окт 2006
    Сообщения:
    1.632
    Симпатии:
    0
    поставь в начало скрипта

    PHP:
    в конец
    PHP:
    если после этого все заработает - однозначно ищи вывод контента перед вызовом Session_start()

    если не заработает - вероятно, не удается создавать файлы сессий. проверь, может ли апач писать в папку сессий
     
  8. snug

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

    С нами с:
    8 июн 2008
    Сообщения:
    31
    Симпатии:
    0
    Адрес:
    Донецк
    Спасибо всем, завтра проэксперементирую и отпишусь в чём была причинка.
     
  9. snug

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

    С нами с:
    8 июн 2008
    Сообщения:
    31
    Симпатии:
    0
    Адрес:
    Донецк
    Всё правильно стартую сессию в начале стараниц и всё работает. Спасибо.