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

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: session_start();

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


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

> Описание: session_start(); помощь с возможностью просмотра онлайн ли юзер или нет
trust
Отправлено: 01 Ноября, 2011 - 09:39:35
Post Id



Новичок


Покинул форум
Сообщений всего: 56
Дата рег-ции: Нояб. 2011  


Помог: 0 раз(а)




Прошу помочь мне в этом вопросе...

у меня есть соц.сеть пилю ее потихой. вот нужна помощь с онлайн пользователями. ну могу реализовать ...

кто может помочь доработать?

Вот все мои наработки:

PHP:
скопировать код в буфер обмена
  1. <?PHP
  2.  
  3. include ("bd.php");
  4.  
  5.  
  6.  
  7.  
  8. if (isset($_COOKIE['auto']) and isset($_COOKIE['login']) and isset($_COOKIE['password']))
  9. {
  10.         if ($_COOKIE['auto'] == 'yes') {
  11.          $_SESSION['password']=strrev(md5($_COOKIE['password']))."
  12.  
  13. //код генерации md5 ено я скрыл в целях безопастности";
  14.  
  15.           $_SESSION['login']=$_COOKIE['login'];
  16.           $_SESSION['id']=$_COOKIE['id'];
  17.                 }
  18. }
  19.  
  20.               if (!empty($_SESSION['login']) and !empty($_SESSION['password']))
  21. {
  22.  
  23. $login = $_SESSION['login'];
  24. $password = $_SESSION['password'];
  25. $result = mysql_query("SELECT id,avatar FROM users WHERE login='$login' AND password='$password' AND activation='1'",$db);
  26. $myrow = mysql_fetch_array($result);
  27.  
  28.  
  29. ?>  
  30.  

Это начало сессий...

Как использовать эти данные для вывода тех пользователей которые используют таблицу users ? Ну то есть онлайн пользователей и сделать вывод не на главной кто оналайн, а у каждого поьзователя чтоб на его странице был статус что он онлайн, и если я захожу на его страницу то чтоб я видел что он онлайн! это понятно тут придется использовать Print_r ... главное это сессии...помогите реализовать или дайте пожалуйста совет!
Структура таблицы users:

id
login
password
date

...
Прошу помочь хоть советом как это реализовать...мозги не соображают ничего с сессиями...увы.


Отредактировано модератором: Мелкий, 01 Ноября, 2011 - 09:51:49


-----
Никто не вечен, достойно учись.
 
 Top
caballero
Отправлено: 01 Ноября, 2011 - 09:59:19
Post Id


Активный участник


Покинул форум
Сообщений всего: 5998
Дата рег-ции: Сент. 2011  
Откуда: Харьков


Помог: 126 раз(а)




а что у тебя вообще логин и пароль в куках делают?
укаждого юзера своя сессия - нельзя из по сессиям посчитать кто онлайн. Только писать в базу когда он зашел и читать оттуда


-----
Бесплатная система складского учета с открытым кодом https://zippy[dot]com[dot]ua/zstore
 
 Top
trust
Отправлено: 01 Ноября, 2011 - 10:05:30
Post Id



Новичок


Покинул форум
Сообщений всего: 56
Дата рег-ции: Нояб. 2011  


Помог: 0 раз(а)




Это моя глупая струкртура...когда начинал писать допустил вот эту ошибку. чуть позже поправлю. сейчас это не суть=) В том то и дело что у меня нет таблицы куда бы записывались сесии...что делать ?


-----
Никто не вечен, достойно учись.
 
 Top
Stierus Супермодератор
Отправлено: 01 Ноября, 2011 - 10:06:37
Post Id



Рекордсмен по количеству сообщений за 7 дней


Покинул форум
Сообщений всего: 2132
Дата рег-ции: Дек. 2008  
Откуда: Москваль


Помог: 52 раз(а)




Забавно читать
Цитата:
//код генерации md5 ено я скрыл в целях безопастности";
и двумя строчками ниже натыкаться на чистый sql-injection Улыбка
(Добавление)
а что за поле "date" в бд?
 
My status
 Top
trust
Отправлено: 01 Ноября, 2011 - 10:15:55
Post Id



Новичок


Покинул форум
Сообщений всего: 56
Дата рег-ции: Нояб. 2011  


Помог: 0 раз(а)




Stierus ТЫ поможешь?


-----
Никто не вечен, достойно учись.
 
 Top
Stierus Супермодератор
Отправлено: 01 Ноября, 2011 - 10:19:33
Post Id



Рекордсмен по количеству сообщений за 7 дней


Покинул форум
Сообщений всего: 2132
Дата рег-ции: Дек. 2008  
Откуда: Москваль


Помог: 52 раз(а)




Я не антисемит, но только евреи отвечают вопросом на вопрос.
 
My status
 Top
trust
Отправлено: 01 Ноября, 2011 - 10:22:21
Post Id



Новичок


Покинул форум
Сообщений всего: 56
Дата рег-ции: Нояб. 2011  


Помог: 0 раз(а)




Stierus Нет я на половину немец. date нужна для вывода даты в сообщениях . Чуть позже буду менять структуру, когда сделаю основную базу работы движка. Так как с начала не осмыслил всю иерархию всей структуры базу. Поэтому date находится в usres .
=) Ровно как и massege хD

(Отредактировано автором: 01 Ноября, 2011 - 10:26:29)



-----
Никто не вечен, достойно учись.
 
 Top
Stierus Супермодератор
Отправлено: 01 Ноября, 2011 - 10:32:50
Post Id



Рекордсмен по количеству сообщений за 7 дней


Покинул форум
Сообщений всего: 2132
Дата рег-ции: Дек. 2008  
Откуда: Москваль


Помог: 52 раз(а)




Цитата:
date нужна для вывода даты в сообщениях
это ни разу не отвечает на поставленный вопрос.
слово date вообще ни о чем не говорит стороннему человеку. Это может быть дата создания профиля, дата последнего сообщения, дата его последнего нахождения на форуме, дата его рождения - что угодно ... нормально именуйте поля.

Чего я так придрался к этой date? Просто ваша проблема решается хранением даты последнего пребывания человека: когда человек обращается к любой странице, это поле в бд обновляется. А в блоке "сейчас на сайте" вы делаете 1 запрос: выбрать всех, у котго дата последнего появления меньше 5 минут (например, 5). То же самое и с профилем пользователя, если эта дата меньше, чем на 5 минут, меньше текущей - то он онлайн, иначе офф.
 
My status
 Top
trust
Отправлено: 01 Ноября, 2011 - 10:46:54
Post Id



Новичок


Покинул форум
Сообщений всего: 56
Дата рег-ции: Нояб. 2011  


Помог: 0 раз(а)




Stierus Вас и вашу идею я понял, полностью поддерживаю, так как иных выходов из данной ситуации я просто не могу додумать.... С идеей реализации вы мне помогли разобраатся, теперь прошу вас сказать мне правильно ли я сделаю если поставлю обращение к любой странице залогинного пользователя таким образом:

if (isset($_COOKIE['auto']) and isset($_COOKIE['login']) and isset($_COOKIE['password'])) {

$query="INSERT INTO login_activ FROM `users`";
$result=mysql_query($query) ;
$login_activ = mysql_fetch_row ($result);

}

и уже вот это вставлю в нужное мне место на сайте :

</php

if($login_active = true) {echo"Онлайн";}
else {echo "не онлайн ";}
?>


-----
Никто не вечен, достойно учись.
 
 Top
Stierus Супермодератор
Отправлено: 01 Ноября, 2011 - 10:51:24
Post Id



Рекордсмен по количеству сообщений за 7 дней


Покинул форум
Сообщений всего: 2132
Дата рег-ции: Дек. 2008  
Откуда: Москваль


Помог: 52 раз(а)




а вы попробуйте эти запросы выполнить, зачем спрашивать ...
 
My status
 Top
trust
Отправлено: 01 Ноября, 2011 - 10:56:26
Post Id



Новичок


Покинул форум
Сообщений всего: 56
Дата рег-ции: Нояб. 2011  


Помог: 0 раз(а)




спасибо... дельный совет. Может кто действительно помочь советом?


-----
Никто не вечен, достойно учись.
 
 Top
SAD
Отправлено: 01 Ноября, 2011 - 11:26:22
Post Id



Постоянный участник


Покинул форум
Сообщений всего: 2508
Дата рег-ции: Май 2009  
Откуда: Днепропетровск, Украина


Помог: 75 раз(а)




trust пишет:
$query="INSERT INTO login_activ FROM `users`";
$result=mysql_query($query) ;
$login_activ = mysql_fetch_row ($result);


жесть =)
 
 Top
trust
Отправлено: 01 Ноября, 2011 - 11:31:40
Post Id



Новичок


Покинул форум
Сообщений всего: 56
Дата рег-ции: Нояб. 2011  


Помог: 0 раз(а)




Зачем писать в теме если не можешь помочь? не пойму!


-----
Никто не вечен, достойно учись.
 
 Top
SAD
Отправлено: 01 Ноября, 2011 - 11:33:00
Post Id



Постоянный участник


Покинул форум
Сообщений всего: 2508
Дата рег-ции: Май 2009  
Откуда: Днепропетровск, Украина


Помог: 75 раз(а)




так вам уже помог Stierus дельным советом. что вам еще нужно? готовый код? это в другие разделы
 
 Top
snikers987
Отправлено: 01 Ноября, 2011 - 11:34:57
Post Id



Участник


Покинул форум
Сообщений всего: 1239
Дата рег-ции: Сент. 2011  
Откуда: Крым


Помог: 25 раз(а)




CODE (SQL):
скопировать код в буфер обмена
  1. INSERT INTO login_activ FROM `users`


что по вашему должен сделать этот запрос?


-----
Когда всматриваешься в тёмную бездну, учти, что кто-то может смотреть на тебя из неё...
 
My status
 Top
Страниц (2): [1] 2 »
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Хранение данных, их вывод и обработка »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB