Смотрите,есть функция session_id();
Она определяет ид сессии,а можно наоборт определить\вывести сессию с определенным ид.К примеру зашел Вася,я определил ид его сессии,зашел Вова я определил ид его сессии,а теперь хочу вывести :
зашли Вася и Вова(узнал это я по ид)
_____________
Чем больше круг знаний - тем больше длина окружности соприкосновения с областью неизвестного - тем больше степень моего незнания.
Лёгкость принятия решений и громкость слов (или число нулей ожидаемой прибыли) свойство окружностей сверхмалого диаметра, стремящихся к точке - к точке зрения.
Игорь_Vasinsky
5.04.2013 - 20:24
нет.
а это и не нужно.
достаточно при входе юзера - записать session_id() и логин в БД, проверять - скажем каждые 30 минут на существование session_id - как его нет - значит сессия прервана (мертва) - а это значит - юзер ушёл.
вот и докапались до истины
_____________
HTML, CSS (Bootstrap), JS(JQuery, ExtJS), PHP, MySQL, MSSql, Posgres, (TSql, BI OLAP, MDX), Mongo, Git, SVN, CodeIgnater, Symfony, Yii 2, JiRA, Redmine, Bitbucket, Composer, Rabbit MQ, Amazon (SQS, S3, Transcribe), Docker
Не понимаю твоей задачи. Сессия - это переменная пользователя. Всё, никто более не должен к ней иметь доступ.
Ты видел хоть раз в жизни Интернет-Магазин? Открой и посмотри, а потом добавь в корзину товар и задайся вопросом, а кто-то кроме тебя должен знать, что ты добавил в корзину? Ответ же очевидный - НЕТ! Это только твои данные и всё!
_____________
Обучаю веб-программированию качественно и не дорого:
http://school-php.comФрилансер, принимаю заказы: PHP, JS, AS (видео-чаты). Писать в ЛС (Личные сообщения на phpforum).
Игорь_Vasinsky
5.04.2013 - 20:42
он вчера писал - что ещё в механизм не въехал. ему киллер вроде давал ссылки - но сам же знаешь теория - это нужно - но понимается всё - когда сам пощупаешь.
_____________
HTML, CSS (Bootstrap), JS(JQuery, ExtJS), PHP, MySQL, MSSql, Posgres, (TSql, BI OLAP, MDX), Mongo, Git, SVN, CodeIgnater, Symfony, Yii 2, JiRA, Redmine, Bitbucket, Composer, Rabbit MQ, Amazon (SQS, S3, Transcribe), Docker
Тогда вот еще вопрос:
session_destroy()
Уничтожить:
все данные, хранящиеся в сессии
файл, отведенный для данных
переменные в программе и идентификатор посетителя
Т.е она инициирует отсутствие этого ид да?Там же по умолчанию есть время какотето 1400 сек чтоли,а если мне надо сейчас же дезактивировать сессию.
_____________
Чем больше круг знаний - тем больше длина окружности соприкосновения с областью неизвестного - тем больше степень моего незнания.
Лёгкость принятия решений и громкость слов (или число нулей ожидаемой прибыли) свойство окружностей сверхмалого диаметра, стремящихся к точке - к точке зрения.
проверять - скажем каждые 30 минут на существование session_id
30 минут-это набум надеюсь?я планировал секунд 10 хотяб,для достоверности,это что так сильно грузит проц?
_____________
Чем больше круг знаний - тем больше длина окружности соприкосновения с областью неизвестного - тем больше степень моего незнания.
Лёгкость принятия решений и громкость слов (или число нулей ожидаемой прибыли) свойство окружностей сверхмалого диаметра, стремящихся к точке - к точке зрения.
Игорь_Vasinsky
5.04.2013 - 21:19
30 мин - нет не на бум) есть дефолтовое значение жизни сессии, которое можно менять - вот от этого надо плясать
session_destroy() - тут ежу из названия понятно - грохнуть сессию (данные сеансы)
но я всегда подстраховываюсь (шизофрения)
unset($_SESSION['id']);
destroy_session();
_____________
HTML, CSS (Bootstrap), JS(JQuery, ExtJS), PHP, MySQL, MSSql, Posgres, (TSql, BI OLAP, MDX), Mongo, Git, SVN, CodeIgnater, Symfony, Yii 2, JiRA, Redmine, Bitbucket, Composer, Rabbit MQ, Amazon (SQS, S3, Transcribe), Docker
не ,дестрой зло я понял
Функция отменяет действие session_start(). Вызывать нужно после вызова session_start(). Можно применять, чтобы уничтожать сессиию пользователя, а потом сразу вызывать в программе второй раз session_start(), получиться совершенно новый посетитель с новым идентификатором и чистой сессией.
А ансет вообще обнаглел,ничего не случилось я и 'id' поставил,и подумал что ты ошибся и поставил 'log' все равно ничего не делает
_____________
Чем больше круг знаний - тем больше длина окружности соприкосновения с областью неизвестного - тем больше степень моего незнания.
Лёгкость принятия решений и громкость слов (или число нулей ожидаемой прибыли) свойство окружностей сверхмалого диаметра, стремящихся к точке - к точке зрения.
<?php
session_start();
unset ($_SESSION['id']);
unset ($_SESSION['log']);
$c=session_id();
echo $c;
$d=session_save_path();
echo'<br>'. $d;
$e=session_name();
echo'<br>'. $e;
echo PHPSESSID;
?>
Ответ:
gkmgj4b6aai8bs9evo8ch8lad3
/tmp
PHPSESSIDPHPSESSID
_____________
Чем больше круг знаний - тем больше длина окружности соприкосновения с областью неизвестного - тем больше степень моего незнания.
Лёгкость принятия решений и громкость слов (или число нулей ожидаемой прибыли) свойство окружностей сверхмалого диаметра, стремящихся к точке - к точке зрения.
Игорь_Vasinsky
5.04.2013 - 22:06
не. ту опять всё путаешь.
из мануала
Цитата |
session_destroy() destroys all of the data associated with the current session |
грохает в данные которые ассоциируются (имеются) в данной сессии (сессионом сеансе)
я просто подстраховываюсь.
Проверяй.
1.
<?php
session_start();
$_SESSION['data'] = 'any thing';
echo $_SESSION['data'];
unset($_SESSION['data']);
echo $_SESSION['data'];
?>
2.
<?php
session_start();
$_SESSION['data'] = 'any thing';
echo $_SESSION['data'];
session_destroy();
echo $_SESSION['data'];
?>
_____________
HTML, CSS (Bootstrap), JS(JQuery, ExtJS), PHP, MySQL, MSSql, Posgres, (TSql, BI OLAP, MDX), Mongo, Git, SVN, CodeIgnater, Symfony, Yii 2, JiRA, Redmine, Bitbucket, Composer, Rabbit MQ, Amazon (SQS, S3, Transcribe), Docker
Игорь_Vasinsky
5.04.2013 - 22:07
PHPSESSID - на это не смотри. session_id() - вот чо важно
_____________
HTML, CSS (Bootstrap), JS(JQuery, ExtJS), PHP, MySQL, MSSql, Posgres, (TSql, BI OLAP, MDX), Mongo, Git, SVN, CodeIgnater, Symfony, Yii 2, JiRA, Redmine, Bitbucket, Composer, Rabbit MQ, Amazon (SQS, S3, Transcribe), Docker
killer8080
5.04.2013 - 22:14
Цитата (Larik @ 5.04.2013 - 20:01) |
Ответ: gkmgj4b6aai8bs9evo8ch8lad3 /tmp PHPSESSIDPHPSESSID |
и что? Все правильно. А что там должно было вывести по твоему?
Цитата (Игорь_Vasinsky @ 5.04.2013 - 18:42) |
ему киллер вроде давал ссылки - но сам же знаешь теория - это нужно - но понимается всё - когда сам пощупаешь. |
я вижу что он толком ничего не читал, раз до сих пор не понял сути механизма сессий.
1.any thing
2.any thingany thing
Ни знаю почему не рушит(
_____________
Чем больше круг знаний - тем больше длина окружности соприкосновения с областью неизвестного - тем больше степень моего незнания.
Лёгкость принятия решений и громкость слов (или число нулей ожидаемой прибыли) свойство окружностей сверхмалого диаметра, стремящихся к точке - к точке зрения.
killer8080
5.04.2013 - 22:23
Цитата (Larik @ 5.04.2013 - 20:20) |
Ни знаю почему не рушит( |
Цитата |
session_destroy() destroys all of the data associated with the current session. It does not unset any of the global variables associated with the session, or unset the session cookie. To use the session variables again, session_start() has to be called.
In order to kill the session altogether, like to log the user out, the session id must also be unset. If a cookie is used to propagate the session id (default behavior), then the session cookie must be deleted. setcookie() may be used for that. |
Цитата (killer8080 @ 5.04.2013 - 22:14) |
Цитата (Larik @ 5.04.2013 - 20:01) | Ответ: gkmgj4b6aai8bs9evo8ch8lad3 /tmp PHPSESSIDPHPSESSID |
и что? Все правильно. А что там должно было вывести по твоему?
Цитата (Игорь_Vasinsky @ 5.04.2013 - 18:42) | ему киллер вроде давал ссылки - но сам же знаешь теория - это нужно - но понимается всё - когда сам пощупаешь. |
я вижу что он толком ничего не читал, раз до сих пор не понял сути механизма сессий.
|
Все что мне не было понятно ,это тема с ид.
Он не должен был выводить id сессии после дестроя то.
Или это постоянный ид?
Там же написно было что есть постоянный ид,который хранится в куки.И при раздаче сессии комп сморит,есть ли он,если есть то его и делает,и автозамену ссылок,если его нет то создает рандомный 128 битный.
_____________
Чем больше круг знаний - тем больше длина окружности соприкосновения с областью неизвестного - тем больше степень моего незнания.
Лёгкость принятия решений и громкость слов (или число нулей ожидаемой прибыли) свойство окружностей сверхмалого диаметра, стремящихся к точке - к точке зрения.
Быстрый ответ:
Powered by dgreen
Здесь расположена полная версия этой страницы.