начал делать авторизацию + статистику посещаемости и воткнулся в одну проблему
Дело в том что я не хочу считать статистику посещаемости Администрации и Гостей (но в дальнейшем эта настройка может пригодиться)
Я долго размышлял на эту тему и пришел к выводу что первым действием правильнее сделать
1. Проверку на существование COOKIE
2. Построить условие если COOKIE не найдена то создать, а если COOKIE найдена то уже проверять пользователей.
и так у меня есть 5 настроек
1. Название сессии гостя
2. Название сессии пользователя
3. Название сессии администратора
4. Время сессии
5. Вести статистику или нет
Я создал COOKIE стратанул сессию и так как это наше первое посещение то создал
$_SESSION['auth'] == 'GUEST'после чего ушел в
header();и обнаружил созданную COOKIE
И вот тут начинается проблема
Я делаю
session_start();
Так как сессия уже создана он ее просто продолжает
смотрю значение
$_SESSION['auth']и если оно равно GUEST то я продолжаю сессию
а если
$_SESSION['auth']равно USER то мне нужно выполнить
session_destroy();
так как настройки сессии задаются перед ее началом
и после чего я создаю новую сессию предварительно установив время сессии и id чтобы после перезагрузки у меня не поменялся id
все работает на ура
но когда я хочу в последующих скриптах пронести в сессии допустим
$_SESSION['hello']то естественно
session_destroy();убивает ее и дальше я эту переменную просто не получу
Тут у меня в голове только один вариант
писать функцию со всеми параметрами сессии переделывать их в переменные и после
session_destroy();опять переделывать в параметры сессии
Я знаю что существует вот такой параметр
session_regenerate_id();
на сколько я понимаю это переделывание id сессии
меня интересует есть ли такой же параметр для времени сессии и может еще какие есть (на будущее я думаю пригодится)
Вобщем нужно как нибудь переделать сессию без убиства
Спустя 46 минут, 21 секунда (17.12.2010 - 22:30) kirik написал(а):
Цитата (Remka @ 17.12.2010 - 13:44) |
Вобщем нужно как нибудь переделать сессию без убиства |
Вы неправильно используете сессию. Её не нужно убивать или пересоздавать, ибо сессия служит для того, чтобы хранить некоторые данные о конкретном пользователе (браузере), пока тот читает статью на сайте или ходит по страницам сайта.
Я немного не понял, что вы хотите сделать, но:
Цитата (Remka @ 17.12.2010 - 13:44) |
Дело в том что я не хочу считать статистику посещаемости Администрации и Гостей (но в дальнейшем эта настройка может пригодиться) |
не проще ли просто ставить куку с названием "USER_TYPE", в нее прописать кто этот юзер (гость, админ, юзер) и потом проверять её?
Спустя 7 минут, 27 секунд (17.12.2010 - 22:37) Remka написал(а):
Точно!
Вы правы!
Я почемуто вбил себе в голову что сессия и cookie это одно и тоже
Спасибо я дальше разберусь!
Вы правы!
Я почемуто вбил себе в голову что сессия и cookie это одно и тоже
Спасибо я дальше разберусь!