Перейти к содержимому


Проблема с сохранением параметров в сессии


Сообщений в теме: 3

#1 Степаныч

    Новичок

  • Пользователи
  • Pip
  • 2 сообщений

Отправлено 30 Август 2016 - 08:30

Создал в менеджере файлов скрипт test.php со следующим содержимым

<?php

include "common.php";

if (!isset($_SESSION[$ses_id]['foo'])) {
    $_SESSION[$ses_id]['foo'] = 'bar';
} else {
    echo "Foo = ", $_SESSION[$ses_id]['foo'];
}


Значение 'bar' не сохраняется в сессии. Что я делаю не так?

#2 CbCoder

    Активный участник

  • Программист ООО "КБ"
  • PipPipPip
  • 8 761 сообщений
  • Пол:Мужчина
  • Город:Казань

Отправлено 31 Август 2016 - 09:20

Сессии как правило не работают без предварительного вызова session_start. См. работа с сессиями в PHP.

#3 Степаныч

    Новичок

  • Пользователи
  • Pip
  • 2 сообщений

Отправлено 01 Сентябрь 2016 - 03:25

Делал session_start перед include "common.php"
Хотя я предполагал, что вызов старта сессии присутствует в common.php, так как возвращается данные текущего пользователя на основе сессии.
Кроме того, присутствует $_SESSION со значениями.
Проверял наличие вывода. Его то же нет.
Странная ситуация.

#4 CbCoder

    Активный участник

  • Программист ООО "КБ"
  • PipPipPip
  • 8 761 сообщений
  • Пол:Мужчина
  • Город:Казань

Отправлено 01 Сентябрь 2016 - 11:57

Ничего странного. Старт сессии действительно присутствует в common.php, но она же там и завершается через session_write_close. Поэтому ваш session_start должен быть после common.php, а не перед.





Количество пользователей, читающих эту тему: 3

0 пользователей, 3 гостей, 0 анонимных