Рабочий ЧАТ на Iframe

Готовые уроки IFrame + ВКонтакте API

Рабочий ЧАТ на Iframe

Сообщение Hail » 14 мар 2011, 19:47

Вставляем в Index.php
  1. <div id="chats" style="height:100; overflow: scroll; overflow: auto; background-color: white;
  2.  
  3. text-align:left; padding:2px 2px 2px 2px;  margin:0px 0px 2px 0px; color:#b6b19d; border:1px
  4.  
  5. solid #bdc7d8"></div>
  6.  
  7. <script src="jquery-1.4.2.min.js" charset="windows-1251"></script>
  8.  
  9. <script type="text/javascript">
  10. function addchats(text) {
  11.  var text = text;
  12.  if (text == "") var text = "всем привет";
  13.  var stroka2 = "<?require 'vkapi.class.php';
  14. define('API_ID', "*********"); // ID вашего приложения
  15. define('API_VERSION', "3.0"); // Версия API (на данный момент она равняется 3.0)
  16. define('API_SECRET', "*********************"); // Тот самый защищённый ключ
  17.  
  18. // Генерируем подлинный auth_key (для наглядности, назовём его secret_key)
  19. $secret_key = md5(API_ID . "_" . $_GET['viewer_id'] . "_" . API_SECRET); // вместо постоянной
  20.  
  21. API_ID, можно воспользоваться полученной от сервера $_GET['api_id']. Разницы между этими
  22.  
  23. значениями нет (если, конечно, запрос не фальшивый :))
  24.  
  25. // Если нет сессии (т.е. пользователь НЕ авторизирован), сравниваем наш подлинный secret_key с
  26.  
  27. полученным auth_key, и при успехе ставим сессию user_id, содержащую id текущего пользователя.
  28. if (!$_SESSION['user_id'])
  29. {
  30.    if ($_GET['auth_key'] == $secret_key)
  31.    {
  32.        $_SESSION['user_id'] = $_GET['viewer_id'];
  33.    }
  34. }
  35. $method = "getProfiles";
  36. $sig = md5("api_id=" . API_ID . "method=" . $method . "uids=" . $_SESSION['user_id'] . "v=" .
  37.  
  38. API_VERSION . API_SECRET);
  39. $user = simplexml_load_file("http://api.vkontakte.ru/api.php?api_id=" . API_ID . "&v=" .
  40.  
  41. API_VERSION . "&method=" . $method . "&uids=" . $_SESSION['user_id'] . "&sig=" . $sig);
  42. $zname = $user->user->first_name;
  43. $zfam = $user->user->last_name;
  44. $zid = $user->user->uid;
  45. ?><? echo "$zid $zname $zfam пишет:"; ?>";
  46. $.post("addchat.php", { check: text, stroka: stroka2 }, function(data) {
  47.  
  48. document.getElementById('textchat').value='';  } );
  49.  
  50. }
  51. </script>
  52.  
  53. <input  type=text id="textchat" name="textchat" title="напишите сообщение в чат" size=30
  54.  
  55. maxlength=50>  
  56. <INPUT TYPE=IMAGE SRC="chatadd.gif" onmouseover="this.src='chatadd2.gif';"
  57.  
  58. onmouseout="this.src='chatadd.gif';" id="okey3" name="okey3"  
  59.  
  60. onclick="addchats(document.getElementById('textchat').value); return false;" title="написать в
  61.  
  62. чат" VALUE="написать">
  63.  
  64. <script type="text/javascript">
  65.  
  66. function chatad() {
  67.  
  68. $.post("getchat.php", {  }, function(data) {
  69.   document.getElementById('chats').innerHTML =  '';
  70.   for(var i = 1; i <= 20; i++) {
  71.   document.getElementById('chats').innerHTML +=  ' ' + $(data).find("time" + i).text() + ' '
  72.  
  73. + '<a href=http://vkontakte.ru/id' + $(data).find("uid" + i).text() + ' ' + 'target="_blank">'
  74.  
  75. + $(data).find("first_name" + i).text() + ' ' + $(data).find("last_name" + i).text() + '</a>';
  76.  
  77.  
  78.   document.getElementById('chats').innerHTML += ' ' + $(data).find("text" + i).text()  + '
  79.  
  80. <br>';
  81.   }
  82.  
  83.  
  84.  }, "xml" );
  85. setTimeout('chatad()', 1000);
  86.  
  87. }
  88. </script>
  89. <script type="text/javascript">
  90. setTimeout('chatad()', 1000);
  91. </script>
  92.  
  93.  



в файл getchat.php вставляем
  1. <?
  2. header('Content-Type: text/xml; charset=UTF-8');
  3. $file5 = file("chat.txt");
  4. if ($file5) {
  5. $ss2 = 0;
  6. for ($ss=1;$ss<21;$ss++) {
  7. ${pieces.$ss} = explode(" ", iconv('windows-1251', 'UTF-8', $file5[$ss2]));
  8. $ss2++;
  9. }
  10. }
  11.  
  12. echo"
  13. <xml>
  14. <body>
  15. ";
  16.  
  17. for ($t=1;$t<21;$t++) {
  18.  
  19.  echo "<time$t>" . ${pieces.$t}[0]. "</time$t>";
  20.  echo "<uid$t>" . ${pieces.$t}[2]. "</uid$t>";
  21.  echo "<first_name$t>" . ${pieces.$t}[3]. "</first_name$t>";
  22.  echo "<last_name$t>" . ${pieces.$t}[4]. "</last_name$t>";
  23.  echo "<text$t>";
  24.  for ($mm=5;$mm<count(${pieces.$t});$mm++) { echo  ${pieces.$t}[$mm]." "; }
  25.  echo "</text$t>";
  26. }
  27.  
  28.  
  29. echo "
  30. </body>
  31. </xml>
  32. ";
  33.  
  34. ?>


и в addchat.php
  1. <?
  2. if (isset($_POST['stroka'])) {
  3.  
  4. $dates = date( 'H:i:s d/m/y', time() );
  5. $chatstr = $dates;
  6. $storki = $_POST['stroka'];
  7. $chatstr = "$chatstr $storki";
  8. $testfrom = $_POST['check'];
  9. $chatstr = "$chatstr $testfrom";
  10. $chatstr = iconv('UTF-8', 'windows-1251', $chatstr);
  11. }
  12.  
  13. $file_chat="chat.txt"; // файл гостевой книги
  14. $file_temp="tempchat.txt"; // временный файл
  15.  
  16.  
  17. $fe = file_exists($file_temp);
  18.  
  19. if($fe != TRUE) {
  20. if(copy($file_chat, $file_temp))  {
  21.  
  22.  if($w=fopen($file_chat,"w")) {
  23.   flock($w,2); // локируем файл
  24.   fwrite($w,$chatstr."\n"); // записываем первую строку
  25.  
  26.   if ($r=fopen($file_temp,"r")) {
  27.    flock($r,1);
  28.    $x = 0;
  29.    while( ($str=fgets($r,10240)) && ($x < 20) ) // читаем построчно
  30.     {
  31.      $x++;
  32.      fputs($w,$str); // пишем построчно
  33.     }
  34.    flock($r,3);
  35.    fclose($r);
  36.    flock($w,3);
  37.    fclose($w);
  38.    unlink($file_temp);
  39.   }
  40.  }
  41.  
  42. }
  43. }
  44.  
  45. ?>


создаем chat.txt всё это закидываем на сервер и ставим права на запись для chat.txt
Всё наслаждаемся!!!! тема взята от автора azzzi и код немного переделал!!!!

пример работы чата здесь: http://vkontakte.ru/app1833150
Hail

 
Автор темы
Сообщения: 35
Зарегистрирован: 11 авг 2010, 22:21
Благодарил (а): 4 раз.
Поблагодарили: 0 раз.

Чтобы убрать блок с рекламой, зарегистрируйтесь на форуме или войдите.

Google
 



Re: Рабочий ЧАТ на Iframe

Сообщение Van » 14 мар 2011, 20:07

Толи я дурак, толи лыжи не едут. добовляю сообщение в чат в chat.txt оно добовляется но в приложение как в таковом не отображается...


ЗАменил фрагмент кода который нужно добавить в index.php

на

  1. <script type="text/javascript">
  2.  
  3. function chatad() {
  4.  
  5.  $.post("getchat.php", {  }, function(data) {
  6.    document.getElementById('chats').innerHTML =  '';
  7.    for(var i = 1; i <= 20; i++) {
  8.    document.getElementById('chats').innerHTML +=  ' ' + $(data).find("time" + i).text() + ' ' + '<a href=http://vkontakte.ru/id' + $(data).find("uid" + i).text() + ' ' + 'target="_blank">' + $(data).find("first_name" + i).text() + ' ' + $(data).find("last_name" + i).text() + '</a>';  
  9.    document.getElementById('chats').innerHTML += ' ' + $(data).find("text" + i).text()  + ' <br>';
  10.    }
  11.  
  12.  
  13.   }, "xml" );
  14.  setTimeout('chatad()', 1000);
  15.  
  16. }
  17. </script>


и заработало :D
Van

 
Сообщения: 17
Зарегистрирован: 26 мар 2010, 15:16
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.

Re: Рабочий ЧАТ на Iframe

Сообщение Влад » 15 мар 2011, 22:51

а у меня, не пишет в файл
https://hrefs.ru - сервис крауд маркетинга №1 в 2019 году
Аватара пользователя
Влад
Модератор
Модератор
 
Сообщения: 654
Зарегистрирован: 29 апр 2010, 22:24
Благодарил (а): 26 раз.
Поблагодарили: 58 раз.

Re: Рабочий ЧАТ на Iframe

Сообщение Hail » 15 мар 2011, 23:11

Влад писал(а):а у меня, не пишет в файл

права на запись стоят в chat.txt??? по идеи должен писать у мну робит я могу исходник скинуть если надо!!!
Hail

 
Автор темы
Сообщения: 35
Зарегистрирован: 11 авг 2010, 22:21
Благодарил (а): 4 раз.
Поблагодарили: 0 раз.

Re: Рабочий ЧАТ на Iframe

Сообщение Влад » 15 мар 2011, 23:17

Скинь пожалуйста исходник рабочий, если не тяжело, все права 777
https://hrefs.ru - сервис крауд маркетинга №1 в 2019 году
Аватара пользователя
Влад
Модератор
Модератор
 
Сообщения: 654
Зарегистрирован: 29 апр 2010, 22:24
Благодарил (а): 26 раз.
Поблагодарили: 58 раз.

Re: Рабочий ЧАТ на Iframe

Сообщение Hail » 15 мар 2011, 23:24

Вот исходник http://promo-rap.ru/chat.rar только index.php поправить не забудьте вести своё id приложение и защещённый ключ
Hail

 
Автор темы
Сообщения: 35
Зарегистрирован: 11 авг 2010, 22:21
Благодарил (а): 4 раз.
Поблагодарили: 0 раз.

Re: Рабочий ЧАТ на Iframe

Сообщение Влад » 15 мар 2011, 23:42

У меня что-то с сервером наверное, все равно не записывает в файл, попробую переделать...
https://hrefs.ru - сервис крауд маркетинга №1 в 2019 году
Аватара пользователя
Влад
Модератор
Модератор
 
Сообщения: 654
Зарегистрирован: 29 апр 2010, 22:24
Благодарил (а): 26 раз.
Поблагодарили: 58 раз.

Re: Рабочий ЧАТ на Iframe

Сообщение Fantom2067 » 18 мар 2011, 14:01

Ссылка на исходник не рабочая, киньте пжлст рабочую ссылку
Fantom2067

 
Сообщения: 16
Зарегистрирован: 15 фев 2011, 23:34
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.

Re: Рабочий ЧАТ на Iframe

Сообщение maksimn » 27 мар 2011, 14:16

Тоже жду исходник.
maksimn

 
Сообщения: 59
Зарегистрирован: 26 мар 2011, 10:46
Благодарил (а): 4 раз.
Поблагодарили: 2 раз.

Re: Рабочий ЧАТ на Iframe

Сообщение maksimn » 09 апр 2011, 12:19

Скачал исходник. На Denwer`е все работает, а после закачки на сервер не пишет в файл chat.txt. Права 777.
maksimn

 
Сообщения: 59
Зарегистрирован: 26 мар 2011, 10:46
Благодарил (а): 4 раз.
Поблагодарили: 2 раз.

След.

Вернуться в Уроки IFrame ВКонтакте



Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 0

cron