Быстрый лёгкий надёжный форумный движок
Вы не вошли.
$db_type = 'mysql';
Вот написано. Исправил. Вышло мне:
This PHP environment doesn't have Improved MySQL (mysqli) support built in. Improved MySQL support is required if you want to use a MySQL 4.1 (or later) database to run this forum. Consult the PHP documentation for further assistance.
Offline
kordum, верни как было.
Возможно в этом и причина, что твой PHP слишком старый и не поддерживает расширенный режим работы MySQL.
З.Ы. Проси хостера обновить PHP до 5ой версии.
Моя сборка FluxBB 1.5, ForkBB · сообщество
Offline
Блин, обидно. Хорошо, попробуем. Спасибо большое за помощь.
Offline
Повысил версию до 5.2.13, вернул файлик в исходное состояние - ответы в теме с опросом так и не появились. Версия PHP ли влияет? Или 5.2.13 форуму не достаточно?
Offline
kordum, в config.php пропиши
$db_type = 'mysqli';
вместо
$db_type = 'mysql';
Только бэкап базы сделай.
Моя сборка FluxBB 1.5, ForkBB · сообщество
Offline
Visman, в третий раз спасибо! Все работает! Пойду писать мод "спасибо"
Offline
У меня в config.php:
$db_type = 'mysqli_innodb';
Версия сервера, которую phpMyAdmin выдаёт:
phpMyAdmin версии: 3.3.9.2
Apache/2.2.17 (Win32) PHP/5.3.5
Версия MySQL-клиента: mysqlnd 5.0.7-dev - 091210 - $Revision: 304625 $
MySQL-кодировка: UTF-8 Unicode (utf8)
PHP расширение: mysqli
База данный создана как InnoDB imp…
Visman, а можно сюда перенести нашу беседу из твоего тестового форума?
PS: mysql: 5.5.8-win32 (в режиме выделенного сервера)
Редактировался BigElectricCat (2011-03-20 13:47:40)
Offline
Мод обновлен.
Профиксены французский и создание кэша (кэш файлы при редактировании первых сообщений тем без опросов не создаются теперь).
Моя сборка FluxBB 1.5, ForkBB · сообщество
Offline
Разобрался в причинах такого поведения опросов.
Проблемы опросов, что в них не подсчитывает голоса возникает от использования в config.php:
$db_type = 'mysqli_innodb';
, если поправить (или на этапе установки форума выбрать первый вариант) в config.php:
$db_type = 'mysqli';
то опросы работают нормально. (Только в вчера было время перебирать варианты установок MySQL и конфигов форума.)
Ещё пару заметок.
У забаненного пользователя в верху страницы при использовании любого поиска появляется надпись «AJAX_JQUERY». Также кнопка «выход» не работает или, как вариант, моя опера не удаляет кук по нажатию на «выход», а удаляет его только после своего закрытия.
Редактировался BigElectricCat (2011-04-03 11:30:16)
Offline
Ещё пару заметок.
У забаненного пользователя в верху страницы при использовании любого поиска появляется надпись «AJAX_JQUERY». Также кнопка «выход» не работает или, как вариант, моя опера не удаляет кук по нажатию на «выход», а удаляет его только после своего закрытия.
Скрин можно с этим глюком?
Какая версия форума?
Моя сборка FluxBB 1.5, ForkBB · сообщество
Offline
BigElectricCat, в файле common.php строку
define('AJAX_JQUERY', '<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.4/jquery.min.js"></script>');
перенеси из конца в начало (поставь перед строкой
define('FORUM_DB_REVISION', 11);
)
З.Ы. И это оффтоп, т.к. к данному плагину проблема не относится, а относится она к моей сборке. Если что, писать в тему https://fluxbb.qb7.ru/forum/viewtopic.php?id=3260
Моя сборка FluxBB 1.5, ForkBB · сообщество
Offline
Обновил версию мода до 1.2.0.
Добавлен Польский.
Сделал превью опроса в edit.php/post.php.
Оптимизировал число запросов к базе при сохранении голоса.
Моя сборка FluxBB 1.5, ForkBB · сообщество
Offline
Создано 2 голосования. Набрано около десятка голосов. Создано дополнительное третье голосование - вылетает ошибка http://pic2net.ru/view/v/38b0b91f78e706 … 2d507f.jpg
Offline
Обновил версию мода до 1.2.1.
Исправлена ошибка https://fluxbb.qb7.ru/forum/viewtopic.p … 905#p25905
@Luca, какая версия мода у тебя сейчас используется?
Или покажи строчку 532 из файла include/poll.php
Моя сборка FluxBB 1.5, ForkBB · сообщество
Offline
<?php
if ($can_vote)
{
if ($types[$k] < 2)
echo "\t\t\t\t\t".'<label><input type="radio" name="poll_vote['.$k.'][0]" value="'.$i.'" /> '.pun_htmlspecialchars($ch).'</label>';
else
echo "\t\t\t\t\t".'<label><input type="checkbox" name="poll_vote['.$k.']['.$i.']" value="1" /> '.pun_htmlspecialchars($ch).'</label>';
}
else if ($can_visi)
{
echo "\t\t\t\t\t".'<span class="answer">'.pun_htmlspecialchars($ch).'</span><span class="percent">('.$lang_poll['Votes'].$vote[$i].' ['.$percent.'%])</span>';
echo '<p class="progressbar"><span style="width: '.round(100 * $percent / $maxPercent).'%;"><span>'.$percent.'%</span></span> </p>';
}
else
{
echo "\t\t\t\t\t".'<span class="answer">'.pun_htmlspecialchars($ch).'</span>';
}
?>
</li>
<?php
521-541 строки.
Offline
@Luca, 502 у тебя такая?
$maxPercent = ($top[3] == 0) ? 1 : 100 * $max / $top[3];
Если да, то совсем древняя версия мода используется
Замени ее на
$maxPercent = ($top[3] == 0 || !$max) ? 1 : 100 * $max / $top[3];
Моя сборка FluxBB 1.5, ForkBB · сообщество
Offline
поставил сию голосовалку - голосование создается, а вот проголосовать нельзя
в чем может быть проблема?
Offline
@wikitest, что пишет при голосовании?
Моя сборка FluxBB 1.5, ForkBB · сообщество
Offline
@Visman, вообще ничего.
закоментировал в viewtopic.php строку
header('Location: viewtopic.php?id='.$id.((isset($_GET['p']) && $_GET['p'] > 1) ? '&p='.intval($_GET['p']) : ''));
что бы посмотреть может poll_vote($id, $pun_user['id']) ошибку какую выдает, а там тоже пусто (отображение ошибок включено)
Offline
Смотрю, $_POST передается
Array ( [poll_max] => Array ( [1] => 3 ) [poll_vote] => Array ( [1] => Array ( [0] => 2 ) ) [poll_type] => Array ( [1] => 1 ) [poll_ques] => 1 [poll_csrf] => 1b209aedba8821e7683ea92a03898c06e427c291 [poll_submit] => Голосовать! )
а вот эта функция походу косячит, знания(вернее их отсутсвие) не позволяют осознать подробности пока
function poll_vote($tid, $uid)
{
global $db;
print_r($_POST);
if (poll_bad() || !poll_can_vote($tid, $uid)) poll_mess('Err1');
$csrf = poll_post('poll_csrf');
$ques = poll_post('poll_ques');
$type = poll_post('poll_type');
$votes = poll_post('poll_vote');
$amax = poll_post('poll_max');
if (is_null($csrf) || is_null($ques) || is_null($type) || is_null($votes) || is_null($amax)) poll_mess('Err2');
if (!is_array($type) || !is_array($votes) || !is_array($amax)) poll_mess('Err2');
$type = array_map('intval', $type);
$amax = array_map('intval', $amax);
$ques = intval($ques);
$csrf2 = pun_hash($tid.(pun_hash($uid.$ques.implode('0',$type))).get_remote_address().implode('.',$amax));
if ($csrf2 != $csrf) poll_mess('Err2');
$kol = 0;
foreach($votes as $k => $vote)
{
if ($k < 1 || $k > $ques) poll_mess('Err3');
$kol++;
$kk = 0;
$vote = array_map('intval', $vote);
foreach($vote as $i => $vo)
{
if ($type[$k] < 2 && $i != 0) poll_mess('Err2');
if ($type[$k] < 2 && $vo < 1) poll_mess('Err2');
if ($type[$k] < 2 && $vo > $amax[$k]) poll_mess('Err2');
if ($type[$k] > 1 && $i == 0) poll_mess('Err2');
if ($type[$k] > 1 && $i > $amax[$k]) poll_mess('Err2');
if ($type[$k] > 1 && $vo != 1) poll_mess('Err2');
$kk++;
}
if ($type[$k] < 2 && $kk != 1) poll_mess('Err4', $k);
if ($type[$k] > 1 && ($kk < 1 || $kk > $type[$k])) poll_mess('Err5', $k, $type[$k]);
}
if ($kol != $ques) poll_mess('Err6');
$arr = array();
foreach($votes as $k => $vote)
{
$vote = array_map('intval', $vote);
foreach($vote as $i => $vo)
{
if ($type[$k] < 2) $j = $vo;
else $j = $i;
$arr[] = '(question='.$k.' AND field='.$j.')';
}
}
if (!empty($arr))
$db->query('UPDATE '.$db->prefix.'poll SET votes=votes+1 WHERE tid='.$tid.' AND ('.implode(' OR ', $arr).')') or error('Unable to update poll choice', __FILE__, __LINE__, $db->error());
$db->query('INSERT INTO '.$db->prefix.'poll_voted (tid, uid, rez) VALUES ('.$tid.','.$uid.',\''.$db->escape(serialize($votes)).'\')') or error('Unable to save vote', __FILE__, __LINE__, $db->error());
$db->query('UPDATE '.$db->prefix.'topics SET poll_kol=poll_kol+1 WHERE id='.$tid) or error('Unable to update topic', __FILE__, __LINE__, $db->error());
poll_cache_delete($tid);
}
Offline
Перед
if (!empty($arr))
поставь
echo var_export($arr, true);
Что выводить будет или нет?
Моя сборка FluxBB 1.5, ForkBB · сообщество
Offline
array ( 0 => '(question=1 AND field=2)', )
Offline
@wikitest, тогда получается, что у тебя не выполняются далее идущие запросы к базе.
Включи в common.php строки
define('PUN_DEBUG', 1);
define('PUN_SHOW_QUERIES', 1);
для просмотра запросов внизу страницы.
З.Ы. Может у базы лог есть, в котором можно глянуть какие запросы выполняются, какие нет.
Моя сборка FluxBB 1.5, ForkBB · сообщество
Offline
после голосования
0.00022 SET NAMES 'utf8'
0.00068 SELECT u.*, g.*, o.logged, o.idle FROM flux_users AS u INNER JOIN flux_groups AS g ON u.group_id=g.g_id LEFT JOIN flux_online AS o ON o.user_id=u.id WHERE u.id=2
0.00036 UPDATE flux_online SET logged=1304523981 WHERE user_id=2
0.00030 SELECT user_id, ident, logged, idle FROM flux_online WHERE logged<1304523681
0.00043 SELECT t.subject, t.closed, t.num_replies, t.sticky, t.first_post_id, t.poll_type, t.poll_time, t.poll_term, t.poll_kol, f.id AS forum_id, f.forum_name, f.moderators, fp.post_replies, s.user_id AS is_subscribed FROM flux_topics AS t INNER JOIN flux_forums AS f ON f.id=t.forum_id LEFT JOIN flux_topic_subscriptions AS s ON (t.id=s.topic_id AND s.user_id=2) LEFT JOIN flux_forum_perms AS fp ON (fp.forum_id=f.id AND fp.group_id=1) WHERE (fp.read_forum IS NULL OR fp.read_forum=1) AND t.id=14 AND t.moved_to IS NULL
0.00040 SELECT 1 FROM flux_reports WHERE zapped IS NULL
0.00036 SELECT id FROM flux_posts WHERE topic_id=14 ORDER BY id LIMIT 0,25
0.00019 SELECT w.id, w.message, w.poster, w.posted FROM flux_warnings AS w WHERE w.id IN (42,45,46,48,53,55,56,57,61,62,71,73,75,97,111,129,132,133,134,135,136,139,141,147,148)
0.00167 SELECT u.email, u.title, u.url, u.location, u.signature, u.email_setting, u.num_posts, u.registered, u.admin_note, p.id, p.poster AS username, p.poster_id, p.poster_ip, p.poster_email, p.message, p.hide_smilies, p.posted, p.edited, p.edited_by, g.g_id, g.g_user_title, o.user_id AS is_online FROM flux_posts AS p INNER JOIN flux_users AS u ON u.id=p.poster_id INNER JOIN flux_groups AS g ON g.g_id=u.group_id LEFT JOIN flux_online AS o ON (o.user_id=u.id AND o.user_id!=1 AND o.idle=0) WHERE p.id IN (42,45,46,48,53,55,56,57,61,62,71,73,75,97,111,129,132,133,134,135,136,139,141,147,148) ORDER BY p.id
0.00043 SELECT question, field, choice, votes FROM flux_poll WHERE tid=14 ORDER BY question, field
0.00022 SELECT 1 FROM flux_poll_voted WHERE tid=14 AND uid=2
0.00032 UPDATE flux_topics SET num_views=num_views+1 WHERE id=14
у сомой базы лог если и есть, то его будет не посмотреть
да и при самом голосовании, к сожалению не вывести дебаг инфу. мм... будем искать причину
Offline
Если это вывод запросов при отключенной строке
header('Location: viewtopic.php?id='.$id.((isset($_GET['p']) && $_GET['p'] > 1) ? '&p='.intval($_GET['p']) : ''));
то получается, что запросы не выполняются.
Попробуй прописать вместо
if (!empty($arr))
$db->query('UPDATE '.$db->prefix.'poll SET votes=votes+1 WHERE tid='.$tid.' AND ('.implode(' OR ', $arr).')') or error('Unable to update poll choice', __FILE__, __LINE__, $db->error());
$db->query('INSERT INTO '.$db->prefix.'poll_voted (tid, uid, rez) VALUES ('.$tid.','.$uid.',\''.$db->escape(serialize($votes)).'\')') or error('Unable to save vote', __FILE__, __LINE__, $db->error());
$db->query('UPDATE '.$db->prefix.'topics SET poll_kol=poll_kol+1 WHERE id='.$tid) or error('Unable to update topic', __FILE__, __LINE__, $db->error());
это
if (!empty($arr))
$db->query('UPDATE '.$db->prefix.'poll SET votes=votes+1 WHERE tid='.$tid.' AND ('.implode(' OR ', $arr).')', true) or error('Unable to update poll choice', __FILE__, __LINE__, $db->error());
$db->query('INSERT INTO '.$db->prefix.'poll_voted (tid, uid, rez) VALUES ('.$tid.','.$uid.',\''.$db->escape(serialize($votes)).'\')', true) or error('Unable to save vote', __FILE__, __LINE__, $db->error());
$db->query('UPDATE '.$db->prefix.'topics SET poll_kol=poll_kol+1 WHERE id='.$tid, true) or error('Unable to update topic', __FILE__, __LINE__, $db->error());
Моя сборка FluxBB 1.5, ForkBB · сообщество
Offline