Помогите с чатом

1. Terkin (28.03.2014 / 23:44)
Друзья привет,такая проблема,умник задает вопрос в чате юзер отвечает правельно к примеру,умник дает юзеру монеты к примеру 10 монет.
Проблема такая,умник дает баллы юзеру,если юзер пишет правильный ответ два раза или больше к примеру умник ему дает монеты.
Как сделать чтоб умник давал только один раз монеты за правельный ответ,код ниже умника в чате


if($x['bot']!='umnik')
lenta('Написал в чате [<a href="/chat/index.php?act=room&amp;id='.$id.'">Посмотреть</a>]'); else
{
$wiki=mysql_query("SELECT `otvet` FROM `botsay` WHERE `bot`='wiki'");
$wiki=mysql_fetch_array($wiki);
if(mb_strtolower($wiki['otvet'])==mb_strtolower($msg)){
lenta('Правильно ответил в злой викторине [<a href="/chat/index.php?act=room&amp;id='.$id.'">Посмотреть</a>]');
$s='Пользователь <b>'.$udata['name'].'</b> правильно ответил на вопрос и получил <b>'.$sysconf['balforumnik'].'</b> балов! Следующий вопрос через 10 секунд!';
mysql_query("INSERT INTO `chat_msg` (`room_id`,`uname`,`msg`,`time`)VALUES('$id','Умник','$s','".time()."')");
mysql_query("UPDATE `botsay` SET `time`='".(time()-25)."',`pwiki`='y',`good`='y' WHERE `bot`='wiki'");
mysql_query("UPDATE `user` SET `chat_answer`=`chat_answer`+1,`bal`=`bal`+'".$sysconf['balforumnik']."' WHERE `name`='".$udata['name']."'");
};

2. Алексей (29.03.2014 / 01:12)
Добавь в табличку с постами поле например 'end', и после того как человек ответил
давай значения полю 'end' = 1. Потом как проверяешь ответ, делай проверку по дополнительному полю 'end' = 0 тут еще не отвечено 'end' = 1 тут уже отвечено)
В общем как-то так себе делал когда-то.
Или сделай проще, очищай автоматом комнату с умником каждые 600 сек, думаю за 10 минут один и тот-же вопрос не повторится)

3. Terkin (29.03.2014 / 01:26)
Мне нужен код чтоб вот это выдовало, Ваше сообщение повторяет предыдущее

4. infust (29.03.2014 / 02:21)
$message = mysql_fetch_array(mysql_query("SELECT * FROM `chat_msg` WHERE `uname` = '".$udata['name']."' order by time desc LIMIT 1"));
if ($message['msg'] == $_POST['msg']) { echo 'Ваше сообщение повторяет предыдущее'; }
---
$_POST['msg'] - msg это название поля в форме, у тебя не знаю какое, замени на свое.
И должно быть поле time в таблице chat_msg, думаю оно есть.

5. Terkin (29.03.2014 / 03:03)
вот часть кода

6. Terkin (29.03.2014 / 03:26)
часть кода

7. YouMobe (30.03.2014 / 14:50)
Не могу нарисовать логику, детали нужны
Вот к примеру пользователь отвечает правильно на вопрос получает 1 монету - и так каждый раз?

8. Terkin (06.04.2014 / 16:49)
кто поможет заплачу smile

Добавлено через 02:13 сек.
////////////////////////////////Добавление сообщения////////////////////////////

case 'add':

$id=intval($_POST['id']);

$msg=antimat(smile(bbcode(bug($_POST['msg']))));

if(!$id){

$TITLE='Чат';

require_once('../lib/inc/head.php');

echo '<div class="home style2">Sexdom.us/Чат/Написание сообщения</div>';

msg('Пустые параметры!<br/><a href="index.php">В чат</a>');

break;

};


$x=mysql_query("SELECT * FROM `chat_room` WHERE `id`='$id'");

if(!mysql_num_rows($x)){

$TITLE='Чат';

require_once('../lib/inc/head.php');

echo '<div class="home style2">Sexdom.us/Чат/Написание сообщения</div>';

msg('Комнаты не существует!');

break;

};



if(!$msg){header("Location: index.php?act=room&id=$id");exit;};

$x=mysql_fetch_assoc($x);

$color=intval($_POST['color']);

$emo=intval($_POST['emo']);

$smile=intval($_POST['smile']);

9. Артур (06.04.2014 / 17:07)
Если один и тот же юзер не сможет ответить дважды на вопрос, он плюнет и развернется к выходу. Проще тебе на крон поставить этот чат и все. А лучше новый написать.

10. Terkin (06.04.2014 / 18:00)
мне нужно типо этого


// Проверка на спам
$old = ($rights) ? 5 : 10;
if ($datauser['lastpost'] > ($realtime - $old)) {
require_once ("../incfiles/head.php");
echo '<p><b>Антифлуд!</b><br />Вы не можете так часто писать<br/>Порог ' . $old . ' секунд<br/><br/><a href="index.php?id=' . $id . '">Назад</a></p>';
require_once ("../incfiles/end.php");
exit;
}
$type = mysql_query("SELECT * FROM `chat` WHERE `id` = '" . $id . "' LIMIT 1");
$type1 = mysql_fetch_array($type);
$tip = $type1['type'];
switch ($tip) {
case "r" :
if (isset ($_POST['submit'])) {
if (empty ($_POST['msg'])) {
require_once ("../incfiles/head.php");
echo "Вы не ввели сообщение!<br/><a href='index.php?act=say&amp;id=" . $id . "'>Повторить</a><br/>";
require_once ("../incfiles/end.php");
exit;
}

11. Генри (06.04.2014 / 18:11)
ротор?? чат шурика?!

12. Terkin (06.04.2014 / 19:51)
Кто Может этот код подправить чтоб он у меня работал?

$last=mysql_query("SELECT `msg` FROM `gb` ORDER BY `id` DESC LIMIT 0,1");
$last=mysql_fetch_assoc($last);
if($msg==$last['msg'] || $_SESSION['flud']>time()){textwrite('Не пишите так быстро!');break;};

13. Terkin (06.04.2014 / 20:27)
вот мой код флуда ,но почемута не работает пиши хоть сколько раз посты

$last=mysql_query("SELECT `msg` FROM `maingb` ORDER BY `id` DESC LIMIT 1");

$last=mysql_fetch_assoc($last);

if($msg==$last['msg'] II $_SESSION['flud']>time()){echo 'Флуд!</div>';break;};

URL: https://visavi.net/topics/40402