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

Печать RSS
336

Автор
Чатланин
0
Друзья привет,такая проблема,умник задает вопрос в чате юзер отвечает правельно к примеру,умник дает юзеру монеты к примеру 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']."'");
};
Изменил: Terkin (28.03.2014 / 23:45)
А

Пришелец
0
Добавь в табличку с постами поле например 'end', и после того как человек ответил
давай значения полю 'end' = 1. Потом как проверяешь ответ, делай проверку по дополнительному полю 'end' = 0 тут еще не отвечено 'end' = 1 тут уже отвечено)
В общем как-то так себе делал когда-то.
Или сделай проще, очищай автоматом комнату с умником каждые 600 сек, думаю за 10 минут один и тот-же вопрос не повторится)
Автор
Чатланин
0
Мне нужен код чтоб вот это выдовало, Ваше сообщение повторяет предыдущее
I

Пришелец
0
$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, думаю оно есть.
Изменил: infust (29.03.2014 / 02:22)
Автор
Чатланин
0
вот часть кода
Прикрепленные файлы:
Автор
Чатланин
0
часть кода
Прикрепленные файлы:
Y

Землянин
0
Не могу нарисовать логику, детали нужны
Вот к примеру пользователь отвечает правильно на вопрос получает 1 монету - и так каждый раз?
Изменил: YouMobe (30.03.2014 / 14:50)
Автор
Чатланин
0
кто поможет заплачу 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']);

Мы ждем перемен!
0
Если один и тот же юзер не сможет ответить дважды на вопрос, он плюнет и развернется к выходу. Проще тебе на крон поставить этот чат и все. А лучше новый написать.
Автор
Чатланин
0
мне нужно типо этого


// Проверка на спам
$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;
}
Стикеры / Теги / Правила / Топ тем / Топ постов / Поиск