[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Сессия Старт -> Стоп -> Старт
Remka
Всем добрый вечер.
начал делать авторизацию + статистику посещаемости и воткнулся в одну проблему

Дело в том что я не хочу считать статистику посещаемости Администрации и Гостей (но в дальнейшем эта настройка может пригодиться)

Я долго размышлял на эту тему и пришел к выводу что первым действием правильнее сделать
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 это одно и тоже

Спасибо я дальше разберусь!
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.