Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В. PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В. C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Как узнать идентификатор сессии?
 
 автор: Владимир55   (30.01.2009 в 12:35)   письмо автору
 
 

Насколько я понимаю, при фвыполнении session_start() формируется идентификатор сессии, и в дальнейшем при выполнении $_SESSION['test'] = $x; используется этот идентифкатор, который и "пойдет" по всем страницам вместе с записанной переменной.

Можно ли этот идентификатор узнать?

  Ответить  
 
 автор: Николай2357   (30.01.2009 в 12:49)   письмо автору
 
   для: Владимир55   (30.01.2009 в 12:35)
 

<?
session_start
();
echo 
session_id();

  Ответить  
 
 автор: Владимир55   (30.01.2009 в 13:30)   письмо автору
 
   для: Николай2357   (30.01.2009 в 12:49)
 

А можно ли использовать идентификатор сессии в качестве уникального идентификатора строки в базе данных?

  Ответить  
 
 автор: Николай2357   (30.01.2009 в 13:57)   письмо автору
 
   для: Владимир55   (30.01.2009 в 13:30)
 

Вообще то это случайная строка, Вероятность совпадений ничтожно мала, но все же теоретически присутствует. Кроме того, смотря для каких целей. Не совсем ясна цель, есть же для этого аутоинкремент...

  Ответить  
 
 автор: Loki   (30.01.2009 в 14:08)   письмо автору
 
   для: Владимир55   (30.01.2009 в 13:30)
 

можно. только что Вы собираетесь идентифицировать с ее помощью?

  Ответить  
 
 автор: Владимир55   (30.01.2009 в 15:07)   письмо автору
 
   для: Loki   (30.01.2009 в 14:08)
 

Когда посетитель вошел на сайт, то я открыл для него сессию и затем создал в таблице строку с идентификатором этой сессии, в столбцы которой записал, с какого поисковика пришел посетитель, на какую страницу, поисковую фразу и реферера (что из всего этого есть).

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

Так возможно?

  Ответить  
 
 автор: Loki   (31.01.2009 в 00:13)   письмо автору
 
   для: Владимир55   (30.01.2009 в 15:07)
 

Возможно, но не очень правильно.
Лучше добавить запись в таблицу, а в сессию поместить id этой записи. Во-первых, не придется все время дергать БД, проверяя есть ли там текущая сессия, а во вторых, поиск по числовому полю будет много быстрее чем по текстовому.

  Ответить  
 
 автор: Владимир55   (31.01.2009 в 00:28)   письмо автору
 
   для: Loki   (31.01.2009 в 00:13)
 

Понял.

Спасибо!

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования