|
|
|
| Насколько я понимаю, при фвыполнении session_start() формируется идентификатор сессии, и в дальнейшем при выполнении $_SESSION['test'] = $x; используется этот идентифкатор, который и "пойдет" по всем страницам вместе с записанной переменной.
Можно ли этот идентификатор узнать? | |
|
|
|
|
|
|
|
для: Владимир55
(30.01.2009 в 12:35)
| |
<?
session_start();
echo session_id();
|
| |
|
|
|
|
|
|
|
для: Николай2357
(30.01.2009 в 12:49)
| | А можно ли использовать идентификатор сессии в качестве уникального идентификатора строки в базе данных? | |
|
|
|
|
|
|
|
для: Владимир55
(30.01.2009 в 13:30)
| | Вообще то это случайная строка, Вероятность совпадений ничтожно мала, но все же теоретически присутствует. Кроме того, смотря для каких целей. Не совсем ясна цель, есть же для этого аутоинкремент... | |
|
|
|
|
|
|
|
для: Владимир55
(30.01.2009 в 13:30)
| | можно. только что Вы собираетесь идентифицировать с ее помощью? | |
|
|
|
|
|
|
|
для: Loki
(30.01.2009 в 14:08)
| | Когда посетитель вошел на сайт, то я открыл для него сессию и затем создал в таблице строку с идентификатором этой сессии, в столбцы которой записал, с какого поисковика пришел посетитель, на какую страницу, поисковую фразу и реферера (что из всего этого есть).
Посетитель может бродить по сайту сколько угодно, но потом он сделает покупку, после чего по идентификатору сессии я найду его строку в базе и допишу в неё факт покупки.
Так возможно? | |
|
|
|
|
|
|
|
для: Владимир55
(30.01.2009 в 15:07)
| | Возможно, но не очень правильно.
Лучше добавить запись в таблицу, а в сессию поместить id этой записи. Во-первых, не придется все время дергать БД, проверяя есть ли там текущая сессия, а во вторых, поиск по числовому полю будет много быстрее чем по текстовому. | |
|
|
|
|
|
|
|
для: Loki
(31.01.2009 в 00:13)
| | Понял.
Спасибо! | |
|
|
|