misterikl
Местный
- Сообщения
- 100
- Реакции
- 7
Такая проблемка небольшая: в чате, когда отправляешь сообщение, то при нажатии на кнопку Отправить, сообщение сразу не появляется в чате, а появляется если еще раз обновить страницу, и из за этого некоторые пользователи нажимают 2 раза отправить и сообщение дублируется.
Подскажите пожалуйста, что нужно добавить или исправить что бы при нажатии на кнопку Отправить, сообщение сразу стало видным что оно отправлено в чат?
Вот скрипт чата
_chat.php
Подскажите пожалуйста, что нужно добавить или исправить что бы при нажатии на кнопку Отправить, сообщение сразу стало видным что оно отправлено в чат?
Вот скрипт чата
_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>
misterikl
Местный
- Сообщения
- 100
- Реакции
- 7
Скажите пожалуйста как исправить? И если не сложно подскажите где дыра?kvozimir написал(а):у вас в чате дыра,через нее могут вас взломать, а насчет проблемы возможно можно поставить обновление страницы после отправки сообщения
reffer
Участник
- Сообщения
- 6
- Реакции
- 0
Мой совет выкинуть чат , и вынестиего за пределы сайта. Есть не плохие варианты. И не каких проблем со взломом. На странице сайта только не большой виджетmisterikl написал(а):Кто ни будь поможет?
misterikl
Местный
- Сообщения
- 100
- Реакции
- 7
Вот и я думаю, надо выкинуть его. Помочь то ни кто не может или не хочет(reffer написал(а):Мой совет выкинуть чат , и вынести его за пределы сайта. Есть не плохие варианты. И не каких проблем со взломом. На странице сайта только не большой виджет
reffer
Участник
- Сообщения
- 6
- Реакции
- 0
И помощь может быть разной! Лучше поставь чат http://chatango.com и проблема решинаmisterikl написал(а):Вот и я думаю, надо выкинуть его. Помочь то ни кто не может или не хочет(
misterikl
Местный
- Сообщения
- 100
- Реакции
- 7
Спасибо Большое!reffer написал(а):И помощь может быть разной! Лучше поставь чат http://chatango.com и проблема решина