Нужна помощь пожалуйста

  • Автор темы misterikl
  • Дата начала
misterikl
Местный
Сообщения
100
Реакции
7
Такая проблемка небольшая: в чате, когда отправляешь сообщение, то при нажатии на кнопку Отправить, сообщение сразу не появляется в чате, а появляется если еще раз обновить страницу, и из за этого некоторые пользователи нажимают 2 раза отправить и сообщение дублируется.
Подскажите пожалуйста, что нужно добавить или исправить что бы при нажатии на кнопку Отправить, сообщение сразу стало видным что оно отправлено в чат?
Вот скрипт чата
_chat.php
Код:
<?PHP
$_OPTIMIZATION["title"] = "ЧАТ";
$usid = $_SESSION["user_id"];
$uname = $_SESSION["user"];
$db->Query("SELECT * FROM db_users_b WHERE id = '$usid' LIMIT 1");
$user_data = $db->FetchArray();
$dadd = time();
?>
<div class="s-bk-lf">
    <div class="col-md-8">                                <div class="s-bk-lf">
                                    <div class="title">ЧАТ</div>
                                </div>
                                <div class="silver-bk">

<table cellpadding='3' cellspacing='0' border='0'  align='center' width="550" BGCOLOR="#ffffff" >
  <?PHP

  $db->Query("SELECT * FROM db_chat ORDER BY id DESC LIMIT 30");

    if($db->NumRows() > 0){

          while($bon = $db->FetchArray()){
      
        ?>  
        <tr>
        <td colspan="2"><HR SIZE="2" WIDTH="90%" ALIGN="center" COLOR="#ffffff"></td></tr><tr>
            <td align="left" width="300">

            <font color=blue>
            <b><?=$bon["user"]; ?></b></font></td><td align="right" width="200"><font color=blue><?=date("d.m.Y",$bon["date_add"]); ?></td></tr><tr>
            <td colspan="2" align="left"><? if ($bon["user"]=="admin") # если ник пользователя в чате админ- то его сообщения имеют следующий цвет:
            {?><font color=#ffffff> <? } ?>  <?=$bon["tekst"]; ?></td>
        
        </tr>
        <?PHP
      
        }

    }else echo '<tr><td align="center" colspan="3">Нет записей</td></tr>'
  ?>

  <tr>
    <td colspan="2" align="center"><h4><font color="blue">Показаны последние 30 сообщений</font></h4></td>
    </tr>
</table>
<?PHP

if(isset($_POST["chat"])) {

    $text =$_POST["ntext"];
if($user_data["money_b"] >0) # проверяем наличие денег
{  
if (preg_match("/[\>|\<]/",$text)) # запрещаем символы < и >
{ echo "<center><b><font color = 'red'>Сообщение содержит запрещенные символы</font></b></center><BR />";
} else {  
  
      
            $db->Query("INSERT INTO db_chat (user, tekst, date_add) VALUES ('$uname','$text','$dadd')");
            $db->Query("UPDATE db_users_b SET money_b = money_b - 0 WHERE id = '$usid'");
            echo "<center><b><font color = 'blue'>Сообщение отправлено</font></b></center><BR />";
          
}
} else echo "<center><b><font color = 'red'>Недостаточно золота для общения</font></b></center><BR />";
}
?>
<center><?PHP if($user_data["money_b"] >0) {?><form action="" method="post">
<b>Сообщение:</b> [Отправка бесплатная!]<BR />
<textarea  name="ntext" cols="50" rows="3"><?=(isset($_POST["ntext"])) ? $_POST["ntext"] : false; ?></textarea><BR />
<center><input type="submit" name="chat" value="отправить" /></center>
</form><font color="blue"><b>Внимание! Запрещены теги, ссылки, реклама, оскорбление участников и Администрации проекта. В случае нарушения пользователь может быть оштрафован или забанен.</b></font> <?PHP } else {    ?> Стоимость сообщения 10 золота - на вашем счёте недостаточно средств.<?PHP } ?></center>
<div class="clr"></div>      
</div>




</div>
 
Donald
Участник
Сообщения
1
Реакции
0
Похожая проблемка...
 
kvozimir
Участник
Сообщения
1.935
Реакции
409
ICQ
734713 734713
Skype
у вас в чате дыра,через нее могут вас взломать, а насчет проблемы возможно можно поставить обновление страницы после отправки сообщения
 
misterikl
Местный
Сообщения
100
Реакции
7
kvozimir написал(а):
у вас в чате дыра,через нее могут вас взломать, а насчет проблемы возможно можно поставить обновление страницы после отправки сообщения
Скажите пожалуйста как исправить? И если не сложно подскажите где дыра?
 
misterikl
Местный
Сообщения
100
Реакции
7
Кто ни будь поможет?
 
reffer
Участник
Сообщения
6
Реакции
0
misterikl написал(а):
Кто ни будь поможет?
Мой совет выкинуть чат , и вынестиего за пределы сайта. Есть не плохие варианты. И не каких проблем со взломом. На странице сайта только не большой виджет
 
misterikl
Местный
Сообщения
100
Реакции
7
reffer написал(а):
Мой совет выкинуть чат , и вынести его за пределы сайта. Есть не плохие варианты. И не каких проблем со взломом. На странице сайта только не большой виджет
Вот и я думаю, надо выкинуть его. Помочь то ни кто не может или не хочет(
 
reffer
Участник
Сообщения
6
Реакции
0
misterikl написал(а):
Вот и я думаю, надо выкинуть его. Помочь то ни кто не может или не хочет(
И помощь может быть разной! Лучше поставь чат http://chatango.com и проблема решина
 
Сверху