За последние 24 часа нас посетили 17355 программистов и 1207 роботов. Сейчас ищут 1293 программиста ...

Сбрасывается $_SESSION при переходе на следующую страницу

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

  1. Doomych

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

    С нами с:
    11 авг 2011
    Сообщения:
    10
    Симпатии:
    0
    Пишу веб-приложение (по сути, формы для внесения данных в базу). В нем index.php, в зависимости от параметра из url'а, запускает одно из двух подприложений (/insp-test/index.php?action=check[/...щие и для Url1, и для Url2. Версия PHP-5.2.6.
     
  2. igordata

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

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    мистега.

    может где затесался разрушитель сессий session_destroy? =)
     
  3. Doomych

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

    С нами с:
    11 авг 2011
    Сообщения:
    10
    Симпатии:
    0
    Нет, конечно. Даже специально проверял
     
  4. igordata

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

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    ну все, тогда жизнь не мила. =(

    ты не заливаешь ничего на сервер, между страницами? а то я когда заливаю изменения в проекте, меня почему-то тоже выкидывает переодически.
     
  5. Doomych

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

    С нами с:
    11 авг 2011
    Сообщения:
    10
    Симпатии:
    0
    Так и есть, не мила:)
    Я сохраняю данные в базу. Ну, и $_SESSION - его тоже, он на веб-сервер пишется :)
     
  6. igordata

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

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    Doomych
    $_SESSION - его тоже, он на веб-сервер пишется :)
    что ты имеешь в виду?
     
  7. tommyangelo

    tommyangelo Старожил

    С нами с:
    6 дек 2009
    Сообщения:
    2.549
    Симпатии:
    0
    Адрес:
    Мариуполь
    Doomych
    Сессию стартуешь в index.php ?
     
  8. Doomych

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

    С нами с:
    11 авг 2011
    Сообщения:
    10
    Симпатии:
    0
    To igordata: я имел в виду, что сеансы хранятся на веб-сервере - разве не так?

    To tommyangelo: да, первый старт - там. Впрочем, если session_start() из index.php убрать, проблема останется. А кстати, как должно быть?
     
  9. Gromo

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

    С нами с:
    24 май 2010
    Сообщения:
    2.786
    Симпатии:
    2
    Адрес:
    Ташкент
    Doomych
    BOM отсутствует?
     
  10. Doomych

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

    С нами с:
    11 авг 2011
    Сообщения:
    10
    Симпатии:
    0
    Отсутствует
     
  11. Doomych

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

    С нами с:
    11 авг 2011
    Сообщения:
    10
    Симпатии:
    0
    Ура, заработало! Огромное спасибо tommyangelo, натолкнувшего меня на мысль, и всем остальным участникам, попытавшимся мне помочь!
    Проблема, действительно, была в index.php. Вызов session_start(), действительно, у меня там был, но стоял он в блоке if, вот так:
    Код (Text):
    1.  
    2.   $action = (isset($_POST["action"]))?$_POST["action"]:$_GET["action"];
    3.   if (isset($action))
    4.   {
    5.     session_start();
    6.     $_SESSION['AppType'] = $action;
    7.      ...
    8.   }
    Проблема ушла, когда я перенес session_start() на самый верх, в первую строку. Хотя, почему так происходит, мне пока непонятно
     
  12. tommyangelo

    tommyangelo Старожил

    С нами с:
    6 дек 2009
    Сообщения:
    2.549
    Симпатии:
    0
    Адрес:
    Мариуполь
    Doomych

    У тебя разные сессии получались)
     
  13. Doomych

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

    С нами с:
    11 авг 2011
    Сообщения:
    10
    Симпатии:
    0
    Хм... Если session_start на старом месте, то сессия другая, а если перенести старт повыше, то работаем в старой сессии. А в чем разница? Где бы об этом почитать? В многочисленных статьях в Сети, которые я читал, об этом не говорится.
     
  14. rainarr

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

    С нами с:
    20 ноя 2010
    Сообщения:
    276
    Симпатии:
    0
    напомните, пожалуйста, зачем сохраняют сессию в базу?
     
  15. Doomych

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

    С нами с:
    11 авг 2011
    Сообщения:
    10
    Симпатии:
    0
    В смысле?
    Если вы про один из моих предыдущих постов, то я там говорил, что в базу сохраняются данные, а сессия сохраняется на веб-сервере. Сессию в БД я не сохраняю.
     
  16. rainarr

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

    С нами с:
    20 ноя 2010
    Сообщения:
    276
    Симпатии:
    0
    я в общем, дабы новую тему не создавать, приспичило. много где видел, и зачем - забыл.