Модераторы: skyboy, MoLeX, Aliance, ksnk
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> вопросы по сессиям 
:(
    Опции темы
artsb
Дата 24.9.2008, 12:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2280
Регистрация: 17.7.2007
Где: центр Вселенной

Репутация: нет
Всего: 64



Всем привет!

Как сервер РНР узнаёт, что страницу открыл тот, для кого уже создана сессия? По IP?
Как сделать,, чтобы сессия завершалась после закрытия страницы (не браузера)?
Как сделать, чтобы при окончании сессии выполнялся определённый скрипт?


--------------------
Чем отличается умный человек от мудрого?
Умный - выпутается из любой ситуации.
Мудрый - просто в неё не попадёт.
PM MAIL   Вверх
ViniPuh
Дата 24.9.2008, 12:57 (ссылка)   | (голосов:5) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 17
Регистрация: 24.8.2007

Репутация: 1
Всего: 1



Цитата
Как сервер РНР узнаёт, что страницу открыл тот, для кого уже создана сессия? По IP?

Скорее всего не только по IP, но и по агенту браузера и чему то еще (иначе бы переоткрытие браузеро не уничтожало бы сессию)

Цитата
Как сделать,, чтобы сессия завершалась после закрытия страницы (не браузера)?

Я вижу только один вариант JS+Ajax во время закрытия страницы и на PHP по этому запросу сессию прибить.

Цитата
Как сделать, чтобы при окончании сессии выполнялся определённый скрипт?

Тебе нужно правильно заюзать функу session_set_save_handler и навесить свою функу на параметр destroy. После этого с сессией можно работать как обычно.
PM MAIL ICQ   Вверх
teroni
Дата 24.9.2008, 13:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 381
Регистрация: 15.5.2007
Где: Днепропетровск

Репутация: 8
Всего: 22



При старте сессии сервер, на котором установлен твой скрипт, выдаёт браузеру клиента куку, в которой хранится идентификатор сессии. После этого браузер каждый следующий запрос шлет серверу эту куку. При закрытии окна браузера кука удаляется. IP не играет никакой роли, можно зайти под одним, получить идентификатор сессии, сменить проксю не закрывая браузер, и сессия не разрушится.

Цитата

Как сделать, чтобы сессия завершалась после закрытия страницы (не браузера)?

Сервер понятия не имеет, когда юзер закрывает страницу браузера. Но он может разрушать сессию при заходе на какую-то страницу с помощью session_destroy.
PM MAIL   Вверх
Dima 2015
Дата 24.9.2008, 13:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 287
Регистрация: 16.3.2008
Где: SPb

Репутация: 2
Всего: 2



teroni, если ИД сессии пишется в куку, то может ли быть сделано так, чтобы эта кука удалялась при закрытии браузера?
PM MAIL ICQ   Вверх
artsb
Дата 24.9.2008, 14:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2280
Регистрация: 17.7.2007
Где: центр Вселенной

Репутация: нет
Всего: 64



Всем спасибо.

Dima 2015, она удалится автоматически.


--------------------
Чем отличается умный человек от мудрого?
Умный - выпутается из любой ситуации.
Мудрый - просто в неё не попадёт.
PM MAIL   Вверх
skyboy
Дата 24.9.2008, 14:34 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


неОпытный
****


Профиль
Группа: Модератор
Сообщений: 9820
Регистрация: 18.5.2006
Где: Днепропетровск

Репутация: 75
Всего: 260



artsb, не обязательно удалится автоматически. зависит от параметра session.cookie_lifetime в php.ini
PM MAIL   Вверх
Dima 2015
Дата 24.9.2008, 16:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 287
Регистрация: 16.3.2008
Где: SPb

Репутация: 2
Всего: 2



skyboy, во! Вот и я заметил что иногда выкладываешь на сервак и меняется поведение при закрытии браузера, так и думал что от настроек сервака зависит.
PM MAIL ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "PHP"
Aliance
IZ@TOP
skyboy
SamDark
MoLeX

Новичкам:

  • PHP редакторы собираются и обсуждаются здесь
  • Электронные книги по PHP, документацию можно найти здесь
  • Интерпретатор PHP, полную документацию можно скачать на PHP.NET

Важно:

  • Не брезгуйте пользоваться тегами [code=php]КОД[/code] для повышения читабельности текста/кода.
  • Перед созданием новой темы воспользуйтесь поиском и загляните в FAQ
  • Действия модераторов можно обсудить здесь

Внимание:

  • Темы "ищу скрипт", "подскажите скрипт" и т.п. будут переноситься в форум "Web-технологии"
  • Темы с именами: "Срочно", "помогите", "не знаю как делать" будут УДАЛЯТЬСЯ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0872 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.