@Lyuba2018

Обновление сообщений при переписки как сделать?

Ребята подскажите как сделать что бы при переписки на сайте сообщения обновлялись ? Сейчас если ответить сообщение уходить но новое не посмотришь пока не перезагрузишь страницу ? Не знаю какой фаил скидывать сюда вот структура файлов переписки сама переписка идет вот тут ajax_user.php
<?
session_start();
require_once('../connect/connect.php');
include_once('../lib/lib.php');
require('../user/pdk.php');
 
$id_tema = intval($_POST['id_tema']);
$vizavi = intval($_POST['vizavi']);
$tema=$_POST['tema'];
$r = mysql_query("SELECT * FROM mess WHERE id_tema=".$id_tema." 
AND ( (komu=".$vizavi." AND ot_kogo=".$_SESSION['ID_P'][1].") OR (ot_kogo=".$vizavi." AND komu=".$_SESSION['ID_P'][1].") )");
$yes_tema = mysql_num_rows($r);
 
 
$r = mysql_query("SELECT * FROM mess_blok WHERE kto_ud = '".$vizavi."' AND kogo_ud  = '".intval($_SESSION['ID_P'][1])."'");
$nr = mysql_num_rows($r);
if($nr)
    $err = 'Этот пользователь занес Вас в черный список. Вы не можете оставлять ему сообщения';
else
    {
    if(isset($_POST['message']) && $yes_tema)
        {
        $me=_pre2($_POST['message']);
        $mess=$me[1];
    
        if(!$mess) $err .= "Введите текст сообщения<br>";
    
        if(!$err)
            {
            if($vizavi==0)
                {
                $autor_komu='Администратор';
                $email = $rru['email'];
                }
            else
                {
                $r=mysql_query("SELECT id_akk, contakt, email FROM akk WHERE id_akk='".$vizavi."'");
                $nr = mysql_num_rows($r);
                if(!$nr)
                    {
                    $err .= "Нет такого пользователя<br>";
                    }
                else
                    {
                    $rr=mysql_fetch_array($r);
                    $autor_komu=$rr['contakt'];
                    $email = $rr['email'];
                    }
                }
    
            if(!$err)
                {
                $vz = max($_SESSION['ID_P'][1], $vizavi).'_'.min($_SESSION['ID_P'][1], $vizavi);
        
                $query="INSERT INTO mess (
                    ot_kogo,
                    autor,
                    autor_komu,
                    komu,
                    mess,
                    data,
                    tema,
                    id_tema,
                    vz
                    )
                    VALUES
                    (
                    '".$_SESSION['ID_P'][1]."',
                    '".$_SESSION['ID_P'][3]."',
                    '".$autor_komu."',
                    '".$vizavi."',
                    '".$mess."',
                    NOW(),
                    '".anti(urldecode($tema))."',
                    '".$id_tema."',
                    '".$vz."'
                    )
                    ";
        
                if(!mysql_query($query))
                    {
                    $err = 'Не удалось отправить сообщение';
                    }
                else
                    {
                    $ok = 'Сообщение отправлено';
                    if($vizavi)
                        {
                        $c='Здравствуйте!<br><br>
                        Для Вас пришло сообщение на сайте '.$_SERVER['HTTP_HOST'].'
                        <br>
                        Для просмотра сообщения перейдите в личный кабинет
                        <br>
                        <br>
                        С уважением, администрация сайта '.$_SERVER['HTTP_HOST'].'
                        '; 
            
                        $thm='Получено сообщение на сайте '.$_SERVER['HTTP_HOST'];
                        }
                    else
                        {
                        $c='Здравствуйте!<br><br>
                        Для Вас пришло сообщение на сайте '.$_SERVER['HTTP_HOST'];
            
                        $thm='Сообщение для администратора сайта '.$_SERVER['HTTP_HOST'];
                        }
            
                    @mail_utf8($email, $thm, $c, $rru['email']);
                    }
                }
            }
        }
    }
 
if($err)
    {
    ?>
    <script>
    document.getElementById('err').innerHTML = '<font color=red><?=$err?></font>'; 
    document.getElementById('id_message').value = ''; 
    </script>   
    <?
    }
else
    {
    ?>
    <script>
    document.getElementById('err').innerHTML = '<font color=green><?=$ok?></font>'; 
    document.getElementById('id_message').value = ''; 
    </script>   
    <?
    }
 
if($yes_tema) 
    {
    if($vizavi>0)
        {
        $r=mysql_query("SELECT * FROM akk WHERE id_akk='".$vizavi."'");
        $nr=mysql_num_rows($r);
        if($nr)
            {
            $rr=mysql_fetch_array($r);
            $autor_komu=$rr['contakt'];
            
            $lok=" id_tema = ".$id_tema." AND ((ot_kogo='".$vizavi."' AND komu='".$_SESSION['ID_P'][1]."' ) 
            OR (ot_kogo='".$_SESSION['ID_P'][1]."' AND komu='".$vizavi."')) ";
            
            $da=1;
            }
        }
    elseif($vizavi===0) 
        {
        $autor_komu='Администратор';
 
        $lok=" id_tema = ".$id_tema." AND ((ot_kogo='".$vizavi."' AND komu='".$_SESSION['ID_P'][1]."' ) 
        OR (ot_kogo='".$_SESSION['ID_P'][1]."' AND komu='".$vizavi."')) ";
        
        $da=1;
        }
    }
 
if($da)
    {
    mysql_query("UPDATE mess SET pr=1 WHERE id_tema='".$id_tema."' AND ot_kogo='".$vizavi."' ");
 
    $query = "SELECT * FROM mess  
    WHERE ".$lok."
    ORDER BY data DESC ";   
 
    //echo $query;
    $Recordset1 = mysql_query($query);
    while ($row_Recordset1 = mysql_fetch_array($Recordset1))
        { 
        echo '<table cellpadding="10" cellspacing="5" width="100%" border=0><tr>';
            
        if($row_Recordset1['ot_kogo']==$_SESSION['ID_P'][1]) // исходящие
            {
            echo '<td>';
            echo '<div class="t12">';
            echo str_replace("\n","<br>",trim($row_Recordset1['mess']));
            echo '<br>'.date("d-m-y [H:i]", strtotime($row_Recordset1['data']));
            if(!$row_Recordset1['pr']) echo '  <font color=red>Не прочитано</font>';
            echo '</div>';
            
            echo '<td width="150">';
            echo '<b>'.$row_Recordset1['autor'].'</b>';
            }
        else // входящие
            {
            echo '<td width="150">';
            echo '<b>'.$row_Recordset1['autor'].'</b>';
            
            echo '<td>';
            echo '<div class="t12">';
            echo str_replace("\n","<br>",trim($row_Recordset1['mess']));
            echo '<br>'.date("d-m-y [H:i]", strtotime($row_Recordset1['data']));
            echo '</div>';
            }
        echo '</table>';
        }
    }
    ?>

5aec85e729eb0932868328.png
  • Вопрос задан
  • 114 просмотров
Пригласить эксперта
Ответы на вопрос 3
melodyn
@melodyn
Лучше нативная смерть, чем фреймворковая жизнь.
Не видя код, я бы сказал, что вам нужен ajax. Но увидев код я понял, что вам нужен программист.
Ответ написан
Комментировать
Stimulate
@Stimulate
могу
Вам на фриланс.
Ответ написан
nuykon
@nuykon
Full Stack Developer
Код конечно ужасный, но человек видимо учится и задал вопрос. Что набросились?
По теме:
1 Можно использовать Ajax (гуглите javascript setInterval ajax)
2 Но лучше использовать WebSocket
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы