За последние 24 часа нас посетили 119282 программиста и 3003 робота. Сейчас ищут 1256 программистов ...

онлайн-чат!

Тема в разделе "PHP для новичков", создана пользователем Panich, 13 дек 2011.

  1. Panich

    Panich Активный пользователь

    С нами с:
    10 май 2011
    Сообщения:
    548
    Симпатии:
    0
    Адрес:
    Ростов-Москва
    Доброго времени дня!!!
    Один товарищ в своё время помог сделать онлайн-чат:
    [js]var id = 0
    var chatbox
    function get() {
    $.ajax({
    type:'GET',
    url:'ajaxchat.php',
    data:{last_id:id},
    success:function(data){
    var obj = jQuery.parseJSON(data)
    var text = ''
    for (var i = 0; i < obj.length; i++) {
    text += '<div class="table_massage">'
    text += '<span class="foto_chat">ава: ' + obj.fupload + '</span>'
    text += '<span>' + obj.name + '</span>'
    text += '/'
    <!-- возраст вывести -->
    text += '<em>' + obj.massage + '</em>'
    text += '</div>'
    id = id < obj.idchat ? obj.idchat : id
    }
    $(chatbox).html($(chatbox).html()+text)
    }
    })
    }
    <!-- сообщения обновляются каждые 30 секунд -->
    chatbox = $('#chatbox')
    var timer = setInterval(get, 30000)
    get() [/js]
    Вот файл для обработки php:
    PHP:
    1. <?php
    2. include ("bd_chat.php");
    3. include ("bd.php");
    4. isset($_GET['last_id']) || die();
    5. mysql_query("SET NAMES 'utf8'");
    6. $id = (int) $_GET['last_id'];
    7. if (empty($id))
    8.     $sql = "SELECT `c`.*, `u`.`name`, `u`.`fupload` FROM `chat` as `c`, `users` as `u` WHERE `c`.`user_id` = `u`.`id` ORDER BY `c`.`idchat` DESC LIMIT 10";
    9. else
    10.     $sql = "SELECT `c`.*, `u`.`name`, `u`.`fupload` FROM `chat` as `c`, `users` as `u` WHERE `c`.`user_id` = `u`.`id` AND `c`.`idchat` > {$id} ORDER BY `c`.`idchat` DESC LIMIT 10";
    11. $res = mysql_query($sql);
    12. $res || die(mysql_error());
    13. $result = array();
    14. while ($row = mysql_fetch_assoc($res))
    15. {
    16. $result[] = $row;
    17. }
    18. echo json_encode($result);
    19. ?>
    Ну,и вывожу я тут:
    HTML:
    1. <div id="chatbox"></div>
    Всё работало замечательно,но потом я делал одминку пользователя,перестраивал страницу пользователя-много кода изменил,но сам чат не трогал...и вот заметил,что он перестал выводиться-просто пустое поле!!!
    Выяснить причину так и не смог,хотя даже из резерва архивного старый файл стартовой страницей восстанавливал (которая была ещё до глобальных изменений)..помогите разобраться в причине поломки!
     
  2. Panich

    Panich Активный пользователь

    С нами с:
    10 май 2011
    Сообщения:
    548
    Симпатии:
    0
    Адрес:
    Ростов-Москва
    Ну,и пока Вы думаете,знатоки-вопрос проще:
    Вот есть у меня таблица с ключами:id / avatar / id_user,пользователь внёс в неё три пути к аватарке...получается,что у поля avatar три разных значения (пути) и одно и то же значение у id_user.
    Так вот:вывожу я форму для изменения данных пользователя через HTML="..тут форма..",print HTML; и,соответственно вставить сюда while $row=$myrow['avatar'] printf...не могу (а нужно,что бы фотки выводились именно внутри формы)!
    Подскажите как это сделать-понимаю,что через arrey,но на примерный даже ответ в гугле не могу натолкнуться...(((
     
  3. Panich

    Panich Активный пользователь

    С нами с:
    10 май 2011
    Сообщения:
    548
    Симпатии:
    0
    Адрес:
    Ростов-Москва
    Вот тут ещё подскажите пожалуйста:
    PHP:
    1. $forma='
    2.    <table>
    3.        <tr>
    4.            <td>
    5.                <h2>Измените данные</h2>
    6.            </td>
    7.        </tr>
    8.        <tr>
    9.            <td valign="top">
    10.                <form action="../znakomstva/update_user.php" method="post" enctype="multipart/form-data" onClick="chek()">
    11.                <strong>Имя:</strong>
    12.                <strong>Логин:</strong>
    13.                <strong>Ваш пароль?:</strong>
    14.                <strong>Новый пароль:</strong>
    15.                <strong>Повторить пароль:</strong>
    16.                <strong>Город:</strong>
    17.                <strong>Дата рождения:</strong>
    18.                <strong>Исправить дату:</strong>
    19.            </td>
    20.            <td valign="top">
    21.                <input id="name_red" type="text" name="name" maxlength="20" value="'.$name.'">
    22.                <input id="login_red" maxlength="20" name="login" type="text" value="'.$login.'">
    23.                <input id="pass" maxlength="20" name="pass" type="pasword">
    24.                <input id="pass1" maxlength="20" name="pass1" type="pasword">
    25.                <input id="pass2" maxlength="20" name="pass2" type="pasword">
    26.                <select id="sity_red" name="sity">
    27.                    <option>Москва</option>
    28.                    <option>Санкт-Петербург</option>
    29.                    <option>Ростов-на-Дону</option>
    30.                    <option>Краснодар</option>
    31.                </select>
    32.                <strong>дата:</strong>&nbsp;<span id="age_vozr">'.$vozr_namber.'<span>&nbsp;
    33.                <strong>месяц:</strong>&nbsp;<span id="age_vozr">'.$vozr_mouns.'<span>&nbsp;
    34.                <strong>год:</strong>&nbsp;<span id="age_vozr">'.$vozr_year.'<span>
    35.                
    36.                <select id="age" name="vozr_namber" size="3">
    37.                    <option>01</option><option>02</option><option>03</option><option>04</option>
    38.                    <option>05</option><option>06</option><option>07</option><option>08</option>
    39.                    <option>09</option><option>10</option><option>11</option><option>12</option>
    40.                    <option>13</option><option>14</option><option>15</option><option>16</option>
    41.                    <option>17</option><option>18</option><option>19</option><option>20</option>
    42.                    <option>21</option><option>22</option><option>23</option><option>24</option>
    43.                    <option>25</option><option>26</option><option>27</option><option>28</option>
    44.                    <option>29</option><option>30</option><option>31</option>
    45.                </select>
    46.                <select id="age" name="vozr_mouns" size="3">
    47.                    <option>01</option><option>02</option><option>03</option>
    48.                    <option>04</option><option>05</option><option>06</option>
    49.                    <option>07</option><option>08</option><option>09</option>
    50.                    <option>10</option><option>11</option><option>12</option>
    51.                </select>
    52.                <select id="age" name="vozr_year" size="3">
    53.                    <option>1961</option><option>1962</option><option>1963</option>
    54.                    <option>1964</option><option>1965</option><option>1966</option>
    55.                    <option>1967</option><option>1968</option><option>1969</option>
    56.                    <option>1970</option><option>1971</option><option>1972</option>
    57.                    <option>1973</option><option>1974</option><option>1975</option>
    58.                    <option>1976</option><option>1977</option><option>1978</option>
    59.                    <option>1979</option><option>1980</option><option>1981</option>
    60.                    <option>1982</option><option>1983</option><option>1984</option>
    61.                    <option>1985</option><option>1986</option><option>1987</option>
    62.                    <option>1988</option><option>1989</option><option>1990</option>
    63.                    <option>1991</option><option>1992</option><option>1993</option>
    64.                    <option>1994</option><option>1995</option><option>1996</option>
    65.                    <option>1997</option><option>1998</option><option>1999</option>
    66.                    <option>2000</option><option>2001</option><option>2002</option>
    67.                    <option>2003</option><option>2004</option><option>2005</option>
    68.                    <option>2006</option><option>2007</option><option>2008</option>
    69.                    <option>2009</option><option>2010</option><option>2011</option>
    70.                </select>
    71.            </td>
    72.        </tr>
    73.        <tr>
    74.            <td colspan="2">
    75.                <strong>Фотографии:</strong>';
    76.                 if (empty($myrow17["avatar"]))          
    77.                 {
    78.                 $avatar = "../znakomstva/files/net-avatara.jpg";
    79.                 }
    80.                 else
    81.                 {
    82.                    while($myrow17 = mysql_fetch_array($result17))
    83.                    {
    84.                    $forma.='"<img class="img" alt="" src="%s">", $myrow17["avatar"])';
    85.                    }
    86.                 }
    87.                 $forma.='<strong>Не больше трёх:</strong>
    88.                <input id="fupload_red" type="file" name="fupload">
    89.            </td>
    90.        </tr>
    91.        <tr>
    92.            <td colspan="2">
    93.                <strong>Коротко о себе:</strong>
    94.                <textarea id="text_red" name="text_user" cols="35" rows="10" maxlength="300" placeholder="'.$text_user.'"></textarea>
    95.            </td>
    96.        </tr>
    97.        <tr>
    98.            <td>
    99.                <input class="btn_modal" type="submit" name="submit" value="изменить">
    100.                </form>
    101.            </td>
    102.        </tr>
    103.    </table>';
    104.     print $forma;
    Но выдаёт ошибку:
    Код (Text):
    1. Parse error: syntax error, unexpected ',' in....
    Что тут не так сделал?
     
  4. sobachnik

    sobachnik Старожил

    С нами с:
    20 апр 2007
    Сообщения:
    3.380
    Симпатии:
    13
    Адрес:
    Дмитров, МО
    Ошибка где-то в другом месте, тут не вижу.