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 :: Отправка пакета пользователю

 PHP.SU

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


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

> Без описания
Andrewsolomon
Отправлено: 02 Ноября, 2017 - 21:21:42
Post Id


Новичок


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


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




Вообщем, как отправить какой-нибудь текст определенному юзеру сайта? вот банально зашел юзер на сайт, никуда не тыкает, тут ему приходит пакет с каким либо текстом, Пришедшие данные обрабатываются с помощью js и выводятся, так можно реализовать в пхп? Ну или подскажите каким языком можно это сделать...
P.S.: не предлагайте методы, типо, пусть клиет сам (в фоновом режиме) каждые N секунд запрашивает пхп файл с помощью ajax

(Отредактировано автором: 02 Ноября, 2017 - 21:22:37)

 
 Top
VladimirKheifets
Отправлено: 03 Ноября, 2017 - 09:16:39
Post Id



Новичок


Покинул форум
Сообщений всего: 2
Дата рег-ции: Июль 2017  
Откуда: Германия, Бавария


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




Andrewsolomon пишет:
Вообщем, как отправить какой-нибудь текст определенному юзеру сайта? вот банально зашел юзер на сайт, никуда не тыкает, тут ему приходит пакет с каким либо текстом....

Добрый день!
Один раз клиенту придётся где-то "потыкать" Подмигивание
После регистрации или авторизации на на Вашем сайте Вы должны присвоить клиенту $UserId и сохранить его в куках браузера клиента.
PHP:
скопировать код в буфер обмена
  1. $c_time = time() + 30*88000; // 30 days
  2. setcookie("UserId", $UserId, $c_time,"/","YourDomain.com");

При каждом заходе клиентов на сайт Вы выбираете на PHP $UserId из куков и делаете всё что пожелаете.(клиент не успеет ничего "тыкнуть")

Сделать это можно и на JS см.
https://www[dot]w3schools[dot]com/js/js_cookies[dot]asp
Удачи!

(Отредактировано автором: 03 Ноября, 2017 - 09:21:28)

 
 Top
Andrewsolomon
Отправлено: 03 Ноября, 2017 - 11:03:31
Post Id


Новичок


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


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




VladimirKheifets, спасибо за ответ, но не то, знаете вебхуки? Вот мне нужно что то типо этого.
Мне нужно сделать следующее: клиент с именем A просто зашел на сайт, авторизировался, и ВООБЩЕ больше никуда не тыкает мышкой, просто авторизировался... и допустим другой клиент сайта с именем B написал сообщение уже знакомому нам юзеру A, написал, нажал отправить... и у юзера A оно !тут же! должно отобразилось на сайте
Как мы знаем сначала юзер запрашивает определенную страницу, а сервак отвечает. А мне надо чтобы юзер ничего не спрашивая получил ответ от сервака, типо вот тебе сообщение пришло от юзера В
Я тупо объясняю, так что спрошу прямо: как отправить определенное сообщение пользователю сайта, зная его.... сессию (ну то что в куках, _SESSION)
 
 Top
Vladimir Kheifets
Отправлено: 05 Ноября, 2017 - 09:26:28
Post Id



Частый посетитель


Покинул форум
Сообщений всего: 879
Дата рег-ции: Март 2017  
Откуда: Германия, Бавария


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




Andrewsolomon пишет:
.....Мне нужно сделать следующее: клиент с именем A просто зашел на сайт, авторизировался, и ВООБЩЕ больше никуда не тыкает мышкой, просто авторизировался... и допустим другой клиент сайта с именем B написал сообщение уже знакомому нам юзеру A, написал, нажал отправить... и у юзера A оно !тут же! должно отобразилось на сайте
Как мы знаем сначала юзер запрашивает определенную страницу, а сервак отвечает. А мне надо чтобы юзер ничего не спрашивая получил ответ от сервака, типо вот тебе сообщение пришло от юзера В
Я тупо объясняю, так что спрошу прямо: как отправить определенное сообщение пользователю сайта, зная его.... сессию (ну то что в куках, _SESSION)

Добрый день, Andrewsolomon!
Действительно, обычно юзер запрашивает определенную страницу, а сервер отвечает, а перед этим юзер включает компьютер и запускает браузер.
Будем исходить из следующих предположении:
- есть некая система и два её юзера А и В;
- система установлена на сервере и доступ к ней клиентов происходит по HTML-протоколу.
- требуется разработать messenger для этой системы.
- реализация должна быть на PHP и JS (без ajax)

1. Юзер А online запрашивает определенную страницу и после авторизации видит на ней, например, конветиртик или линк “отправить сообщение”,
щелкнув, по которому юзер вызывает PHP-скрипт messenger.
Юзер, как-то находит другого клиента сайта с именем B и пишет ему сообщение и нажимает кнопку “отправить” .
После этого сообщение отправляется на сервер и messenger сохраняет его БД MySQL в таблице М

2. Юзер B был на момент отправки сообщения offline.
Он запрашивает определенную страницу и после авторизации, система проверяет по UserId есть ли для него сообщения в таблице М.
Если сообщения есть, то открывает окно messenger либо показывает рядом с конвертиком количество новых сообщений, по которым нужно щёлкнуть.

3. Если оба юзера online и должны получать сообщения не покидая систему, то messenger придётся с заданным тактом перезапускать черезJS.
Это можно сделать так(см. скриншот ниже):
На стартовой странице в iframe загружаете messenger
CODE (html):
скопировать код в буфер обмена
  1. <iframe src='messenger.php?sid=<?=$sid?>' id='messenger_f' name='messenger_f'  width='30' height='15'  frameborder='0' scrolling='no' >
  2. </iframe>

В нём после загрузки будет виден конвертик: images/post_no.gif

CODE (html):
скопировать код в буфер обмена
  1. <img src='images/post_no.gif' width='14' height='15' border='0' onMouseOver='this.style.cursor="pointer"' onClick='open_messenger()' >
  2. <form name="messeg" method="post" action="messenger.php?sid=<?=$sid?>"></form>
  3. <script language='JavaScript'>
  4. var sid = '<?=$sid?>';
  5. function cl_win(){ document.messeg.submit()}
  6. window.setTimeout('cl_win()',100000);
  7. //-------------------------------------------------
  8. function open_messenger(){
  9.  var f = document.messeg;
  10.  f.action = "messenger_view.php?sid=" + sid + "&layer=2";
  11.  f.target = "tmp_view2_f";
  12.  f.submit();
  13. }
  14. </script>


Удачи!
Прикреплено изображение (Нажмите для увеличения)
Untitled-4.png

(Отредактировано автором: 05 Ноября, 2017 - 14:06:12)

 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Вопросы новичков »


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



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

 
Powered by ExBB FM 1.0 RC1. InvisionExBB