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

Форум PHP

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

 

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

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

тема: идентификация сессий
 
 автор: prosaic   (22.09.2008 в 16:02)   письмо автору
 
 

Пользователь может использовать одно приложение множество раз с разными начальными данными, например, приложение по настройке аккаунта. Соответственно все переменные которые сохраняются в сессии будут иметь одно и то же название во всех используемых приложениях. Как сделать названия переменных не повторяющимися?
Спасибо.

  Ответить  
 
 автор: sim5   (22.09.2008 в 16:23)   письмо автору
 
   для: prosaic   (22.09.2008 в 16:02)
 

Изменено.) Как понять с разными начальными данными?

  Ответить  
 
 автор: Valick   (22.09.2008 в 16:58)   письмо автору
 
   для: prosaic   (22.09.2008 в 16:02)
 

сохраняются в сессии будут иметь одно и то же название
Вы боитесь, что переменные одного юзера "испортят жизнь" переменным другого юзера?
Неволнуйтесь у каждого своя сессия и соответственно свои переменгные.

  Ответить  
 
 автор: prosaic   (22.09.2008 в 17:08)   письмо автору
 
   для: Valick   (22.09.2008 в 16:58)
 

нет. вы не поняли меня. 1 пользователь будет запускать одно и тоже приложение одновременно для разных аккаунтов. так как переменные сессии одни и те же, то у них будет одно и тоже значение, что не есть гуд.

пример.
у одного аккаунта uid = 27, у другого uid = 5.

$sid = session_id();
$uid = 27;

$iid = $sid."_".$uid;

$_SESSION["iid"] = $iid;

если запустить одновременно одно и тоже приложение для этих двух аккаунтов (5 и 27) то $iid у них будет один и тот же, так как он хранится в сессии.

  Ответить  
 
 автор: sim5   (22.09.2008 в 17:10)   письмо автору
 
   для: prosaic   (22.09.2008 в 17:08)
 

Значит нужны разные переменные, коли у вас разные аккуанты. А можно поступить следующим образом - имя переменной сессии это массив, а имена аккуантов (или чего-то иного) это индекс в массиве, а каждый индекс может иметь свое значение.

  Ответить  
 
 автор: prosaic   (22.09.2008 в 17:16)   письмо автору
 
   для: sim5   (22.09.2008 в 17:10)
 

так код-то один, а аккаунтов может быть бесконечное количество. подскажите метод)))

  Ответить  
 
 автор: sim5   (22.09.2008 в 17:19)   письмо автору
 
   для: prosaic   (22.09.2008 в 17:16)
 

Код один, но как вы различаете, например, что аккуант другой? И что надо понимать как "другой аккуант"?

  Ответить  
 
 автор: prosaic   (22.09.2008 в 17:21)   письмо автору
 
   для: sim5   (22.09.2008 в 17:19)
 

как отличаю - разный uid, который приходит по POST запросу.
аккаунт - совокупность настроек.

  Ответить  
 
 автор: sim5   (22.09.2008 в 17:28)   письмо автору
 
   для: prosaic   (22.09.2008 в 17:21)
 

Вот этот разный uid и должен служить индексом массива: $_SESSION['param'][$uid]['par1']=xxx; $_SESSION['param'][$uid]['par2']=xxx; ... То есть вы будете обращаться к одному массиву по индексу uid текущего интерфейса, к определенномому его значению.

  Ответить  
 
 автор: prosaic   (22.09.2008 в 17:36)   письмо автору
 
   для: sim5   (22.09.2008 в 17:28)
 

точно. спасибо

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

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