Joomla 1.5 AJAX обновление текста

Тема в разделе "Программирование", создана пользователем vectorserver22, 10.11.2009.

  1. Offline

    vectorserver22 Недавно здесь

    Регистрация:
    12.04.2009
    Сообщения:
    73
    Симпатии:
    2
    Пол:
    Мужской
    Добрый вечер мне нужно чтобы определенный текст обновлялся раз в 1 минуту.
    Напишите примеры пожалуйста + какие сорцы для этого нужны, заранее большое СпаСиБо!!!!:)
     
  2.  
  3. omfgpanda
    Offline

    omfgpanda специалист

    Регистрация:
    22.01.2008
    Сообщения:
    673
    Симпатии:
    53
    Пол:
    Мужской
    вы когда нибудь работали с аяксом? представляете механизм передачи данных ?
     
  4. Offline

    vectorserver22 Недавно здесь

    Регистрация:
    12.04.2009
    Сообщения:
    73
    Симпатии:
    2
    Пол:
    Мужской
    нет никогда, мне просто одно слово надо посветить, пожалуйста помогите!!!
     
  5. omfgpanda
    Offline

    omfgpanda специалист

    Регистрация:
    22.01.2008
    Сообщения:
    673
    Симпатии:
    53
    Пол:
    Мужской
    Конечно очень плохо, что Вы понятия не имеете об этой технологи. Рассказывать тут про это я не вижу смысла - можете в качестве ознакомления посмотреть в Вики, а также полазить по поисковикам и прочесть несколько статеек на эту тему.

    Т.к. j1.5 имеет встроенный mootools, то мой пример будет основан именно на этом фреймворке. Никаких дополнительных библиотек подключать не нужно.

    З,Ы,: хотя я сам, больше предпочитаю использовать jQuery.

    К моему посту прилеплена простейшая схема работы аякса:
    1. index.php выглядит примерно так:
    Код (PHP):
    1. <html>
    2. <head>
    3. <title>blablabla</title>
    4. <script src="script.js" type="text/javascript"></script> <!--подключаем js -->
    5. </head>
    6. <body>
    7. <div id="myDiv">Жми сюда!!!</div>
    8. <div id="resDiv"></div>
    9. <?
    10.     //какой то код
    11. ?>
    12. </body>
    13. </head>

    2. В результате нажатия на текст "Жми сюда!!!" управление переходит в script.js:
    Код (CODE):
    1. window.addEvent('domready', function()
    2. {
    3.  
    4.    //вешаем на див обработчик
    5.    $('myDiv').addEvent('click', function()
    6.    {
    7.        //указываем урл скрипта
    8.        var myRequest = new Request({method: 'get', url: 'lib.php'});
    9.        //если Вам необходимо передать параметры на сервер
    10.        myRequest.send('param=ok');
    11.        //при удачном выполнении запроса обрабатываем событие onSuccess
    12.        myRequest.onSuccess(responseText, responseXML)
    13.        {
    14.             $('resDiv').set('text', responseText); //записываем полученный от сервера ответ
    15.        }
    16.        /*
    17.        в случае, если вы используете компонент джумлы, для обработки запроса,
    18.        указываем index.php (который лежит в корне джумлы)
    19.        var myRequest = new Request({method: 'get', url: 'index.php'});
    20.        также необходимо передать обязательные параметры
    21.        myRequest.send('options=com_mycomponent&Itemid=123&tmpl=component&format=raw');
    22.        tmpl=component&format=raw - необходимы для того, что бы получить только те данные,
    23.        которые выдает Ваш компонент
    24.        */      
    25.    });
    26.  
    27. });


    3. Ну и собственно бэк-енд lib.php
    Код (PHP):
    1. <?
    2. //если вы используете win-1251 кодировку, то необходимо передать хеадер, иначе в ИЕ Вы ничего не получите
    3. //header('Content-Type: text/javascript; charset=windows-1251');
    4.  
    5. echo "Если Вы видите это сообщение, то у Вас все получилось )))";
    6. ?>


    В принципе все B)
     

    Вложения:

    • schema.jpg
      schema.jpg
      Размер файла:
      80.3 КБ
      Просмотров:
      24
  6. Fanamura
    Offline

    Fanamura Доброта

    Регистрация:
    12.03.2007
    Сообщения:
    5 108
    Симпатии:
    159
    Пол:
    Мужской
    Nice :) Да Вы молодец
     
  7. omfgpanda
    Offline

    omfgpanda специалист

    Регистрация:
    22.01.2008
    Сообщения:
    673
    Симпатии:
    53
    Пол:
    Мужской
    спасибо :)
     
  8. Offline

    vectorserver22 Недавно здесь

    Регистрация:
    12.04.2009
    Сообщения:
    73
    Симпатии:
    2
    Пол:
    Мужской
    И снова всем привет, проблемку с обновлением текста нужно исправить, мне нужно чтобы текст обновляся примерно раз в 60 секунд, но я не шарю в в этих запросах, так что помогите пожалуйста
    вот код запроса
    index.php
    Код (PHP):
    1. <html>
    2. <head>
    3. <title>Тестим AJAX</title>
    4. <meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
    5. <script language="JavaScript" type="text/javascript" src="ajax.js"></script>
    6. </head>
    7. <body leftmargin="0" topmargin="0" onload="setInterval('process()', 20000);">
    8. <marquee scrolldelay="20" scrollamount="1" truespeed="truespeed" width="100%">
    9.     <span id="someDIV" class='wrapper' size='10px' color='#85C226' >{module 281}</span>
    10. </marquee>
    11. </body>
    12. </html>


    ajax.js
    Код (CODE):
    1. var xmlHttp = createXmlHttpRequestObject();
    2.  
    3. //Создаем объект подключения, чтобы впоследствие работать через него !!!Необходим!!!
    4. function createXmlHttpRequestObject()
    5. {
    6.     var outVar;
    7.     try
    8.     {
    9.         outVar = new XMLHttpRequest();
    10.     }
    11.     catch(e)
    12.     {
    13.         var xmlHttpVersions = new Array("MSXML2.XMLHTTP.6.0", "MSXML2.XMLHTTP.5.0",
    14.                                         "MSXML2.XMLHTTP.4.0", "MSXML2.XMLHTTP.3.0",
    15.                                         "MSXML2.XMLHTTP", "Microsoft.XMLHTTP");
    16.         for (var i=0; i<xmlHttpVersions.length; i++)
    17.         {
    18.             try
    19.             {
    20.                 outVar = new ActiveXObject(xmlHttpVersions[i]);
    21.             }
    22.             catch(e) {}
    23.         }
    24.     }
    25.     if (!outVar)
    26.     {
    27.         //Здесь будет вызов альтернативной функции сохранения,
    28.         //если создание объекта завершится неудачей.
    29.     }
    30.     else return outVar;
    31. }
    32.  
    33. //Функция передачи запроса серверу
    34. function process()
    35. {
    36.     if (xmlHttp)
    37.     {
    38.         try
    39.         {
    40.             //Здесь пишем адрес страницы .php, которая будет посылать строку, и параметр - для надежности :)
    41.             var url = "http://80.64.18.105/song.php";
    42.  
    43.             //Открываем соединение с сервером
    44.             xmlHttp.open("GET", url, true);
    45.  
    46.             //Вызов функции обработки ответа сервера
    47.             xmlHttp.onreadystatechange = handleStateChange;
    48.  
    49.             //Передача запроса
    50.             xmlHttp.send(null);
    51.         }
    52.         catch (e) {}
    53.  
    54.     }
    55. }
    56.  
    57. //Функция обработки ответа сервера
    58. function handleStateChange()
    59. {
    60.     if (xmlHttp.readyState == 4)
    61.     {
    62.         if (xmlHttp.status == 200)
    63.         {
    64.             //В response помещаем текст ответа
    65.             var response = xmlHttp.responseText;
    66.             //alert(response);
    67.             //Выводим пришедший текст на странице
    68.             document.getElementById('someDIV').innerHTML = response;
    69.         }
    70.     }
    71. }
    72.  
    73. function clearResponseText()
    74. {
    75.     document.getElementById('someDIV').innerHTML = "";
    76. }


    так вот вообщем поросту говоря незаморачиваясь, мне нужно вывести инфу с http://80.64.18.105/song.php

    Заранее огромное спаибо!!!!!
     
  9. omfgpanda
    Offline

    omfgpanda специалист

    Регистрация:
    22.01.2008
    Сообщения:
    673
    Симпатии:
    53
    Пол:
    Мужской
    в любом случае Вы с помощью аякса тянете инфу, поэтому нужно просто установить таймер. Вас спасет setinterval() :)
     
  10. Offline

    vectorserver22 Недавно здесь

    Регистрация:
    12.04.2009
    Сообщения:
    73
    Симпатии:
    2
    Пол:
    Мужской
    omfgpanda c мои кодом можешь привести прмер, I`m валенок :) , пожалуйста!!
     
  11. Offline

    vectorserver22 Недавно здесь

    Регистрация:
    12.04.2009
    Сообщения:
    73
    Симпатии:
    2
    Пол:
    Мужской
    Код (PHP):
    1. <body leftmargin="0" topmargin="0" onload="setInterval('process()', 2000);">

    Но у меня почемуто один раз обновилось а далее стоит, странице перезагружать нужно
     
  12. omfgpanda
    Offline

    omfgpanda специалист

    Регистрация:
    22.01.2008
    Сообщения:
    673
    Симпатии:
    53
    Пол:
    Мужской
    я как бы, если честно, то ни разу не работал с чистым аяксом :[ .... постоянно использовал фреймворки ... думаю проблема в том, что Вам нужно заново инициализировать XMLHttpRequest(), т.е. сначала вызвать xmlHttp = createXmlHttpRequestObject(); а потом уже process() .... думаю все это можно сделать так, но не ручаюсь что будет работать )))
    Код (CODE):
    1. function runAjax()
    2. {
    3.    xmlHttp = createXmlHttpRequestObject();
    4.    process();
    5. }


    Код (html):
    1. <body leftmargin="0" topmargin="0" onload="setInterval('runAjax()', 2000);">
     
  13. Offline

    vectorserver22 Недавно здесь

    Регистрация:
    12.04.2009
    Сообщения:
    73
    Симпатии:
    2
    Пол:
    Мужской
    Спасибо omfgpanda работает, только вот в ИЕ не хочет пахать запрос такой

    index2.php
    Код (PHP):
    1. <?php
    2.         header('Content-type: text/html; charset=windows=1251');
    3.         print file_get_contents ("http://80.64.18.105/song.php");
    4.  
    5. ?>


    index.php
    Код (PHP):
    1. <head>
    2. <script language="JavaScript">var xmlHttp = createXmlHttpRequestObject();
    3.  
    4. //Создаем объект подключения, чтобы впоследствие работать через него !!!Необходим!!!
    5. function runAjax()
    6. {
    7.    xmlHttp = createXmlHttpRequestObject();
    8.    process();
    9. }
    10. function createXmlHttpRequestObject()
    11. {
    12.     var outVar;
    13.     try
    14.     {
    15.         outVar = new XMLHttpRequest();
    16.     }
    17.     catch(e)
    18.     {
    19.         var xmlHttpVersions = new Array("MSXML2.XMLHTTP.6.0", "MSXML2.XMLHTTP.5.0",
    20.                                         "MSXML2.XMLHTTP.4.0", "MSXML2.XMLHTTP.3.0",
    21.                                         "MSXML2.XMLHTTP", "Microsoft.XMLHTTP");
    22.         for (var i=0; i<xmlHttpVersions.length; i++)
    23.         {
    24.             try
    25.             {
    26.                 outVar = new ActiveXObject(xmlHttpVersions[i]);
    27.             }
    28.             catch(e) {}
    29.         }
    30.     }
    31.     if (!outVar)
    32.     {
    33.         //Здесь будет вызов альтернативной функции сохранения,
    34.         //если создание объекта завершится неудачей.
    35.     }
    36.     else return outVar;
    37. }
    38.  
    39. //Функция передачи запроса серверу
    40. function process()
    41. {
    42.     if (xmlHttp)
    43.     {
    44.         try
    45.         {
    46.             //Здесь пишем адрес страницы .php, которая будет посылать строку, и параметр - для надежности :)
    47.             var url = "templates/eko_r/index2.php";
    48.  
    49.             //Открываем соединение с сервером
    50.             xmlHttp.open("GET", url, true);
    51.  
    52.             //Вызов функции обработки ответа сервера
    53.             xmlHttp.onreadystatechange = handleStateChange;
    54.  
    55.             //Передача запроса
    56.             xmlHttp.send(null);
    57.         }
    58.         catch (e) {}
    59.  
    60.     }
    61. }
    62.  
    63. //Функция обработки ответа сервера
    64. function handleStateChange()
    65. {
    66.     if (xmlHttp.readyState == 4)
    67.     {
    68.         if (xmlHttp.status == 200)
    69.         {
    70.             //В response помещаем текст ответа
    71.             var response = xmlHttp.responseText;
    72.             //alert(response);
    73.             //Выводим пришедший текст на странице
    74.             document.getElementById('someDIV').innerHTML = response;
    75.         }
    76.     }
    77. }
    78.  
    79. function clearResponseText()
    80. {
    81.     document.getElementById('someDIV').innerHTML = "";
    82. }</script>
    83. </head>
    84. <body leftmargin="0" topmargin="0" onload="setInterval('runAjax()', 1500);">
     
  14. Offline

    vectorserver22 Недавно здесь

    Регистрация:
    12.04.2009
    Сообщения:
    73
    Симпатии:
    2
    Пол:
    Мужской
    Напиши пару примеров, если не сложно[!]
     
  15. omfgpanda
    Offline

    omfgpanda специалист

    Регистрация:
    22.01.2008
    Сообщения:
    673
    Симпатии:
    53
    Пол:
    Мужской
    Не правильно указана кодировка, замените на
    Код (PHP):
    1. header('Content-type: text/html; charset=windows-1251');


    Конечно практичнее использовать утф-8.
     
  16. Offline

    vectorserver22 Недавно здесь

    Регистрация:
    12.04.2009
    Сообщения:
    73
    Симпатии:
    2
    Пол:
    Мужской
    omfgpanda , а ты невкурсе как мне несколько ПХП подключить чтобы несколько параметров указать
    Пример
    Код (PHP):
    1. <?php header('Content-type: text/html; charset=windows-1251');?>
    2. <script language="JavaScript">
    3. var xmlHttp = createXmlHttpRequestObject();
    4.  
    5. function runAjax()
    6. {
    7.    xmlHttp = createXmlHttpRequestObject();
    8.    process();
    9. }
    10.  
    11. function createXmlHttpRequestObject()
    12. {
    13.     var outVar;
    14.     try
    15.     {
    16.         outVar = new XMLHttpRequest();
    17.     }
    18.     catch(e)
    19.     {
    20.         var xmlHttpVersions = new Array("MSXML2.XMLHTTP.6.0", "MSXML2.XMLHTTP.5.0",
    21.                                         "MSXML2.XMLHTTP.4.0", "MSXML2.XMLHTTP.3.0",
    22.                                         "MSXML2.XMLHTTP", "Microsoft.XMLHTTP");
    23.         for (var i=0; i<xmlHttpVersions.length; i++)
    24.         {
    25.             try
    26.             {
    27.                 outVar = new ActiveXObject(xmlHttpVersions[i]);
    28.             }
    29.             catch(e) {}
    30.         }
    31.     }
    32.     if (!outVar)
    33.     {
    34.    
    35.     }
    36.     else return outVar;
    37. }
    38.  
    39. function process()
    40. {
    41.     if (xmlHttp)
    42.     {
    43.         try
    44.         {
    45.            
    46.             var url = "Что нужно вписать??";
    47.  
    48.             xmlHttp.open("POST", url, true);
    49.  
    50.             xmlHttp.onreadystatechange = handleStateChange;
    51.  
    52.             xmlHttp.send(null);
    53.         }
    54.         catch (e) {}
    55.  
    56.     }
    57. }
    58.  
    59. function handleStateChange()
    60. {
    61.     if (xmlHttp.readyState == 4)
    62.     {
    63.         if (xmlHttp.status == 200)
    64.         {
    65.            
    66.             var response = xmlHttp.responseText;
    67.             //alert(response);
    68.            
    69.             document.getElementById('Что нужно вписать??').innerHTML = response;
    70.         }
    71.     }
    72. }
    73.  
    74. function clearResponseText()
    75. {
    76.     document.getElementById('Что нужно вписать??').innerHTML = "";
    77. }
    78. </script>

    Код (PHP):
    1. <div id="someDIV">Пожалуйста подождите...</div>
    2. <div id="someDIV1">Пожалуйста подождите...</div>
    3. <div id="someDIV3">Пожалуйста подождите...</div>

    и так далее
    Заранее благодарен !!!!!:)
     
  17. omfgpanda
    Offline

    omfgpanda специалист

    Регистрация:
    22.01.2008
    Сообщения:
    673
    Симпатии:
    53
    Пол:
    Мужской
    так это... ничего не нужно подключать... просто в зависимости от передаваемых параметров в бэкенд - вызываешь ту или иную функцию.
     
  18. Offline

    vectorserver22 Недавно здесь

    Регистрация:
    12.04.2009
    Сообщения:
    73
    Симпатии:
    2
    Пол:
    Мужской
    просто видел анологичный скрипт кде на одной стр 3 параментя запрса текста
    Код (PHP):
    1. <?php
    2. if($_GET['l']=="pl"){ $pl="get_pl.php"; $div="someDIV1"; }else{ $pl="one_song.php"; $div="someDIV"; }
    3. ?>
    4. <script language="JavaScript">
    5. var xmlHttp = createXmlHttpRequestObject();
    6.  
    7. function createXmlHttpRequestObject()
    8. {
    9.     var outVar;
    10.     try
    11.     {
    12.         outVar = new XMLHttpRequest();
    13.     }
    14.     catch(e)
    15.     {
    16.         var xmlHttpVersions = new Array("MSXML2.XMLHTTP.6.0", "MSXML2.XMLHTTP.5.0",
    17.                                         "MSXML2.XMLHTTP.4.0", "MSXML2.XMLHTTP.3.0",
    18.                                         "MSXML2.XMLHTTP", "Microsoft.XMLHTTP");
    19.         for (var i=0; i<xmlHttpVersions.length; i++)
    20.         {
    21.             try
    22.             {
    23.                 outVar = new ActiveXObject(xmlHttpVersions[i]);
    24.             }
    25.             catch(e) {}
    26.         }
    27.     }
    28.     if (!outVar)
    29.     {
    30.    
    31.     }
    32.     else return outVar;
    33. }
    34.  
    35. function process()
    36. {
    37.     if (xmlHttp)
    38.     {
    39.         try
    40.         {
    41.            
    42.             var url = "<?=$pl?>";
    43.  
    44.             xmlHttp.open("<?=$met?>", url, true);
    45.  
    46.             xmlHttp.onreadystatechange = handleStateChange;
    47.  
    48.             xmlHttp.send(null);
    49.         }
    50.         catch (e) {}
    51.  
    52.     }
    53. }
    54.  
    55. function handleStateChange()
    56. {
    57.     if (xmlHttp.readyState == 4)
    58.     {
    59.         if (xmlHttp.status == 200)
    60.         {
    61.            
    62.             var response = xmlHttp.responseText;
    63.             //alert(response);
    64.            
    65.             document.getElementById('<?=$div?>').innerHTML = response;
    66.         }
    67.     }
    68. }
    69.  
    70. function clearResponseText()
    71. {
    72.     document.getElementById('<?=$div?>').innerHTML = "";
    73. }
    74. </script>
    75. </HEAD>
    76.  
    77. <BODY BGCOLOR=#FFFFFF LEFTMARGIN=0 TOPMARGIN=0 MARGINWIDTH=0 MARGINHEIGHT=0 onload="setInterval('process()', 40000)">
    78.  
    79.     <table border=0 cellpadding=0 cellspacing=0>
    80.     <tr>
    81.     <td vAlign=top>
    82. <?
    83. if(isset($l)){ $flash="flash/main.swf"; }else{
    84.  
    85.     if(isset($prog)){ $flash="flash/main.swf"; }else{ $flash="load.swf"; }
    86. }
    87.  
    88. ?>
    89.  
    90. <OBJECT classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"
    91.     codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,0,0"
    92.     WIDTH="775"
    93.     HEIGHT="120"
    94.     id="main">
    95.  
    96. <PARAM NAME=movie VALUE="<? print $flash; ?>">
    97. <PARAM NAME=quality VALUE=high>
    98.  
    99. <EMBED  src="<? print $flash; ?>"
    100.     quality=high
    101.     bgcolor=#FFFFFF  
    102.     WIDTH="775" HEIGHT="120"
    103.     NAME="main"
    104.     TYPE="application/x-shockwave-flash"
    105.     PLUGINSPAGE="http://www.macromedia.com/go/getflashplayer">
    106. </EMBED>
    107. </OBJECT>
    108.  
    109. <?
    110. print "
    111.  
    112.     </td>
    113.     </tr>
    114.     </table>
    115.  
    116. <TABLE width=775 border=0 cellpadding=0 cellspacing=0>
    117.     <TR>
    118.         <TD width=229 valign=top>
    119.  
    120.     <table border=0 cellpadding=0 cellspacing=0>
    121.         <tr>
    122.             <td><img width=176 height=4 src='$url/pix/efefef.gif'></td>
    123.             <td><img width=4 height=4 src='$url/pix/img_ef_ef.gif'></td>
    124.             <td><img width=30 height=4 src='$url/pix/0.gif'></td>
    125.         </tr>
    126.     </table>
    127.     <table border=0 cellpadding=0 cellspacing=0>
    128.         <tr>
    129.             <TD width=220 background='pix/back_top.gif'>
    130.  
    131. <table width=100% border=0 cellpadding=1 cellspacing=0>
    132.     <tr>
    133.     <td class='top'>&nbsp;";
    134.  
    135. @include ("date.php");
    136.  
    137. print "
    138.  
    139. </td>
    140.     </tr>
    141.     <tr>
    142.     <td class='top'>&nbsp;В эфире:&nbsp;";
    143.    
    144.  
    145.     $dj = file_get_contents("http://80.64.18.105/online_dj.txt");
    146.  
    147. print"
    148. {$dj}
    149. </td>
    150.     </tr>
    151. </table>
    152.             </TD>
    153.             <TD><img width=6 height=34 src='$url/pix/img_top_u.gif'></td>
    154.         </TR>
    155.     </table>
    156.  
    157. <TD vAlign=top>
    158.  
    159.     <table border=0 cellpadding=0 cellspacing=0>
    160.         <tr>
    161.         <td><img width=3 height=20 src='$url/pix/0.gif'></td>
    162.         <td><img src='$url/pix/img_line_00.gif'></td>
    163.         <TD>
    164. <table border=0 cellpadding=0 cellspacing=0>
    165. <tr>
    166. <td>
    167.  
    168.     <table width=100% border=0 cellpadding=0 cellspacing=0>
    169.     <tr>
    170.     <td width=5></td>
    171.     <td class=text2 height=15><div class=text2 id=\"someDIV\"><img width=6 height=5 src='pix/432342.gif'>";
    172.  
    173.     if(isset($_GET['l']) && $_GET['l']=="pl"){ echo $def_str;
    174.     }else{
    175.     include "one_song.php";
    176.     }
    177.  
    178.    
    179.    
    180.     echo "</div></td>
    181.     </tr>
    182.     </table>   
    183.  
    184. </td>
    185. </tr>
    186. <tr>
    187. <td><img width=550 height=5 src='$url/pix/11.gif'></td>
    188. </tr>
    189. </table>       
    190.         </TD>
    191.         </tr>
    192.     </table>
    193.  
    194. </TD>
    195. </TR>
    196. </TABLE>";
    197.  
    198. /* <iframe name=\"top\" src=\"http://ekoradio.ru/one_song.php\" width=750 height=14 border=0 scrolling=\"no\" frameborder=0></iframe> */
    199. ?>
     
  19. omfgpanda
    Offline

    omfgpanda специалист

    Регистрация:
    22.01.2008
    Сообщения:
    673
    Симпатии:
    53
    Пол:
    Мужской
    их может быть хоть 10 ) просто в каждом запросе передаются разные параметры и в зависимости от того, какой параметр был передан возвращается определенный ответ.
     
  20. progmist
    Offline

    progmist Недавно здесь

    Регистрация:
    18.05.2009
    Сообщения:
    155
    Симпатии:
    10
    Пол:
    Мужской
    Собственно не работает данный код. FireBug например пишет:
    Код (CODE):
    1. missing ; before statement
    2. myRequest.onSuccess(responseText, responseXML) {\n
    :(
     
  21. omfgpanda
    Offline

    omfgpanda специалист

    Регистрация:
    22.01.2008
    Сообщения:
    673
    Симпатии:
    53
    Пол:
    Мужской
    может где в синтаксисе ошибся.... писал "на коленке" так что не исключено.
     

Поделиться этой страницей

Загрузка...