Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

помогите с сессиями!

3.8K
02 марта 2005 года
andrey_IMS
30 / / 08.02.2005
Добрый день!
Скажите пожалуйста,как можно сохранить индитификатор сессии в куках,с тем
чтобы когда пользователь когда-нибудь, через пару дней заходит на сайт, а
из его(пользователя) кук извлекается индитификатор старой сессии и она(старая сессия) запускается для дальнейшего использования?


И еще, кому не лень скинте пару ссылок про куковую авторизацию...

Заранее спасибо!
4
03 марта 2005 года
mike
3.7K / / 01.10.2002
Время хранения сессии задается в php.ini с помощью опций session.gc_maxlifetime и session.cookie_lifetime

Кроме того можно написать свой обработчик: [phpdoc]session_set_save_handler[/phpdoc]

А что касается Cookies-based авторизации, то все просто:

1. Генерируешь уникальный ID
2. Записываешь в базу данных все данные пользователя и его ID
3. Устанавливаешь ID в Cookies

Потом, если ID в Cookies найден, то по нему извлекаешь данные пользователя из базы и используешь по своему усмотрению.

Можно обновить данные и записать обратно в базу и многое другое.
3.8K
03 марта 2005 года
andrey_IMS
30 / / 08.02.2005
А нельзя сохранять ID сессии(кот. генерится случайно)в куку а потом извлечь из куки и по нему запустить сессию(старую).Если можно, то как запустить?И по поводу поиска в куках-автоматически хоть что-то ищется или абсолютно все "вручную" через http_cocies_vars?
3.8K
03 марта 2005 года
andrey_IMS
30 / / 08.02.2005
А вот в вашем фореме по гет запросу передается s=44gtdds...Это я так понимаю ИН сессии,так что вы после авторитизации из БД сгружаете переменные в сессию?
4
03 марта 2005 года
mike
3.7K / / 01.10.2002
Цитата:
Originally posted by andrey_IMS
А нельзя сохранять ID сессии(кот. генерится случайно)в куку а потом извлечь из куки и по нему запустить сессию(старую).Если можно, то как запустить?



Нет, сессионные даные, те что хранятся на сервере, будут уже стерты. (Обычно файлы /tmp/sess_*)

Цитата:

И по поводу поиска в куках-автоматически хоть что-то ищется или абсолютно все "вручную" через http_cocies_vars?



То что ты называешь вручную - на самом деле автоматически. Вручную - это когда ты сам разбираешь HTTP запрос.

3.8K
03 марта 2005 года
andrey_IMS
30 / / 08.02.2005
[QUOTE]Originally posted by mike


Нет, сессионные даные, те что хранятся на сервере, будут уже стерты. (Обычно файлы /tmp/sess_*)


Почему же сессии стираются?У меня например в ПХП они долго хранятся в папке sessiondata.
Темболее есть фуекции благодаря которым они могут хранится хоть до второго пришествия
( sesston.cookie_lifetime(),session.gc_maxlifetime(),session.gc_probability()(вероятность удаления
устаревшей сессии)).Проблема в том, КАК запустить эту сохраненную сессию...
3.8K
03 марта 2005 года
andrey_IMS
30 / / 08.02.2005
В итоге получил скрипт:
<?php
if(isset($HTTP_COOKIE_VARS['id'])) //если есть кука
{
$id=$HTTP_COOKIE_VARS['id']; //извлекаем ин сессии
$err=session_id($id); //устанавливаем этот ин
session_start(); //стартуем ,теперь,старую сессию
$ch=++$HTTP_SESSION_VARS["ch"];//декремент кол-ва посещений
echo"Вы посещаете этот сайт уже в $ch раз!";
}
else
{
$err=session_name("id"); //задаем имя для сессии
session_start();
$id=session_id();//узнаем ин новой сессии
$tr=time()+2678400;//время хранения новой куки месяц
setcookie('id',$id,$tr); //ставим куку длиной в месяц
$ch=1;
session_register("ch");
$HTTP_SESSION_VARS["ch"]=$ch;
echo"Поздравляем! Вы впервые пришли на наш сайт!";
}
?>
вроде работает, получается можно запустить старую
сессию и никуда она не стирается!
4
03 марта 2005 года
mike
3.7K / / 01.10.2002
Цитата:

вроде работает, получается можно запустить старую
сессию и никуда она не стирается!



И это не правильно !

Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог