Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Форумы портала PHP.SU :: Версия для печати :: проверка существования сессии
Форумы портала PHP.SU » » Вопросы новичков » проверка существования сессии

Страниц (1): [1]
 

1. culver - 08 Августа, 2011 - 16:24:05 - перейти к сообщению
Доброго времени.
Подскажите пожалуйста, как проверить жива ли ещё сессия с определённым ID?
Есть таблица одно из полей которой является ID сессий, а остальные поля с данными.
Нужно обрабатывать данные если сессии с данным ID уже нет.
2. PATCH - 08 Августа, 2011 - 16:38:39 - перейти к сообщению
3. culver - 08 Августа, 2011 - 16:43:22 - перейти к сообщению
Насколько я понимаю в массиве $_SESSION хранятся данный ТОЛЬКО о текущей сассии и выражение

проверит наличие переменной с именем 'id' в текущеё сессии.
Или я не прав?
4. PATCH - 08 Августа, 2011 - 17:06:21 - перейти к сообщению
myrow['id'] взят с ассоциативного массива
$_SESSION['id'] = myrow['id]

проще говоря мы сделали запрос к бд на выборку id определеного юзера создали сессию с именем id и запихнули в нее нашу выборку с бд определеного юзера.
5. SAD - 08 Августа, 2011 - 17:07:10 - перейти к сообщению
if (isset ($_SESSION))
6. culver - 08 Августа, 2011 - 17:14:43 - перейти к сообщению
Я, наверное, плохо задал вопрос.
Допустим, у меня есть сотня ID разных сессий, то как проверить наличие на сервере сесси с определённым ID?
7. PATCH - 08 Августа, 2011 - 17:40:12 - перейти к сообщению
CODE (htmlphp):
скопировать код в буфер обмена
  1. $logout = mysql_query("SELECT * FROM user_table WHERE login='$login' LIMIT 1");
  2. $log_row = mysql_fetch_array ($logout);
  3. $_SESSION['user_id'] = $log_row['id'];

так понятнее?

дам направление если у вас это связано с авторизацией то в этом запросе с равниваете login = $login которую вводил пользователь а проверка на существование.

CODE (htmlphp):
скопировать код в буфер обмена
  1.  
  2. if($_SESSION['id']==1)//если сессия существует  со значение 1 то исполняем код в кавычках
  3. {
  4. тут код пишем если существует сессия
  5. }
  6. или
  7.  
  8. if(!$_SESSION['id']==1) //если не существует сессия равная 1 то выполняем код в кавычках на прекращение выполнения кода
  9. {
  10. exit('error');
  11. }
  12.  
  13. тут пишем код который будет исполнятся если сессия существует

зачем кстати id сессия заносить в базу) какую задачу вы хотите решить? хотя судя по вашым суждением код надо так писать :

CODE (htmlphp):
скопировать код в буфер обмена
  1. $logout = mysql_query("SELECT * FROM user_table");
  2. $log_row = mysql_fetch_array ($logout);
  3.  
  4. if($_SESSION['id']==$log_row['id']) //если сессия существует  со значение равной $log_row['id']  то исполняем код в кавычках
  5. {
  6. тут код пишем если существует сессия
  7. }
  8.  
  9.  


p.s поисправлял некоторые ошибки но если вы правильно выложили суть то последний код для вас

 

Powered by ExBB FM 1.0 RC1