Добавлено спустя 3 минуты 39 секунд:
Вот именно! Загляните в код! Массив вопросов пуст -- всё в порядке, даём "зелёный"!Mr. Anderson писал(а):а движок решил, что ничего страшного и "баланс все равно сойдется"?
Вот именно! Загляните в код! Массив вопросов пуст -- всё в порядке, даём "зелёный"!Mr. Anderson писал(а):а движок решил, что ничего страшного и "баланс все равно сойдется"?

Я прямо не знаю, вы меня улыбаете. К БД запрос есть? Есть. Он должен быть выполнен или по нему должен быть реждект - "отсутствующих" ответов как бы не предусмотрено.Борис Бердичевский писал(а):в результате тривиального сбоя БД

Код: Выделить всё
/**
* API function - see what has to be done to validate
*/
function validate()
{
global $config, $db, $user;
$error = '';
if (!sizeof($this->question_ids))
{
return false;
}
if (!$this->confirm_id)
{
$error = $user->lang['CONFIRM_QUESTION_WRONG'];
}
else
{
if ($this->check_answer())
{
// $this->delete_code(); commented out to allow posting.php to repeat the question
$this->solved = true;
}
else
{
$error = $user->lang['CONFIRM_QUESTION_WRONG'];
}
}
if (strlen($error))
{
// okay, incorrect answer. Let's ask a new question.
$this->new_attempt();
$this->solved = false;
return $error;
}
else
{
return false;
}
}Код: Выделить всё
Anonymous 79.140.23.187 Сегодня, 13:28 Произошла общая ошибка: Общая ошибка
» SQL ERROR [ mysqli ]
Data too long for column 'topic_title_colour' at row 1 [1406]
SQL
INSERT INTO forum_topics (topic_poster, topic_time, topic_last_view_time, forum_id, icon_id, topic_approved, topic_title, topic_featured, topic_first_poster_name, topic_first_poster_colour, topic_first_poster_avatar, topic_first_poster_avatar_type, topic_first_poster_avatar_width, topic_first_poster_avatar_height, topic_type, topic_time_limit, topic_attachment, topic_password, topic_expire_time, topic_expire_type, expire_forum_id, topic_title_colour, topic_desc) VALUES (1, 1324952888, 1324952888, 145, 0, 1, '1987: "Меченосец"...как вам этот фильм?', 0, 'Mideseicuseli', '', '', 0, 0, 0, 0, 0, 0, '', 0, 0, 0, '"??????????????????"...?????? ?????? ???????? ???????????', '#file_links[C:\\filmonline.txt,1,S]')
BACKTRACE
FILE: includes/db/mysqli.php
LINE: 163
CALL: dbal->sql_error()
FILE: includes/functions_posting.php
LINE: 2113
CALL: dbal_mysqli->sql_query()
FILE: posting.php
LINE: 1399
CALL: submit_post()
Поставил лог трассировки в это место.Я писал(а):Возврат функцией false означает, что всё в порядке, валидация успешна. Так что весьма подозрителен возврат этого значение по первому if-у - if (!sizeof($this->question_ids))
Код: Выделить всё
Find:
function validate()
{
global $config, $db, $user;
$error = '';
if (!sizeof($this->question_ids))
{
return false;
}
Replace to:
function validate()
{
global $config, $db, $user;
$error = '';
if (!sizeof($this->question_ids))
{
$error = $user->lang['CONFIRM_QUESTION_WRONG'];
return $error;
}