Быстрый лёгкий надёжный форумный движок
Вы не вошли.
Страницы 1
Тема закрыта
1. Проблема со входом, пользователи не могут залогиниться, выводится уведомление об успешном входе, переадресация и они попадают на главную страничку как гости. Что делать?
Проблема может быть или в отключенных куках, или в базовом адресе. В первом случае помогает снятие ограничений на куки. Во втором случае как решение вполне подойдет такой вариант:
создаем в корне форума файл .htaccess, если он уже есть то добавляем туда следущее:
RewriteEngine on Options +FollowSymlinks RewriteBase / RewriteCond %{HTTP_HOST} ^www.punbb.ru$ RewriteRule ^(.*)$ http://punbb.ru/$1 [R=301,L]
адрес меняйте на свой
2. Где взять такую защиту, как на этом форуме при регистрации нового пользователя?
http://www.punres.org/viewtopic.php?id=281
3. При входе на страницу регистрации нет картинки, с которой нужно вводить текст (защита от автоматической регистрации). Может кто знает, с чем это может быть связано и как это поправить?
Требуется библиотека GD
4. Что такое PUN_DEBUG?
Это отладочный режим форума.
Чтобы его включить нужно открыть файл include/common.php
найти на 26 строке
//define('PUN_DEBUG', 1);
и заменить его на
define('PUN_DEBUG', 1);
Отключение наоборот.
5. Я добавлял мод на форум, теперь на измененной странице ошибка. Что делать?
PUN_DEBUG
Теперь вы можете узнать в каком именно месте ошибка
6. Хотелось бы чтобы было видно за какое время генирируется страница и сколько было обращений к базе данных?
PUN_DEBUG
7. Как сделать чтобы на главной странице колонка с последним сообщением содержала название темы?
http://www.punres.org/viewtopic.php?id=728
8. Можно ли на форум добавить личные сообщения?
Да. http://www.punres.org/desc.php?pid=52
9. Можно ли добавить ссылку в профиль пользователя (при просмотре сообщений)?
Да.
#
#---------[ FIND (line:242) ]---------------------------------------------------
#
// Now let's deal with the contact links (E-mail and URL)
#
#---------[ AFTER, ADD ]---------------------------------------------------
#
$user_contacts[] = '<a href="profile.php?id='.$cur_post['poster_id'].'">'.$lang_common['Profile'].'</a>';
10. Пытаюсь установить мод, а он пишет что данный мод не совместим с текущей версией форума? Что делать?
Открыть файл install_mod.php в любом текстовом редакторе. В самом начале (приблизительно 12 строка) будет:
// One or more versions of PunBB that this mod works on. The version names must match exactly!
$punbb_versions = array('1.2', '1.2.1', '1.2.2', '1.2.3', '1.2.4', '1.2.5');
Вы можете изменить одну из поддерживаемых версий на нужныю вам, либо добавить свою:
// One or more versions of PunBB that this mod works on. The version names must match exactly!
$punbb_versions = array('1.2', '1.2.1', '1.2.2', '1.2.3', '1.2.4', '1.2.5', '1.2.14');
Скорее всего мод работает на вашей версии форума, просто разработчик(и) не тестировал(и) его именно на этой версии. Но будьте внимательны! Не забывайте делать резервные копии файлов и базы данных перед устанеовкой мода!
11. Как сделать чтобы при удалении сообщений пользователя ему автоматически уменьшали их в профиле?
http://www.punbb.org/download/plugins/A … leanup.zip
Редактировался Slavik (2007-01-12 16:53:28)
12. Мне форум выдаёт ошибку - Unable to insert search index words, что делать?
Вкратце:
Открываем phpMyAdmin, находим таблицу search_words и для поля word меняем тип с VARCHAR на VARBINARY или BINARY.
Или выполняем:
mysql_query("ALTER TABLE `search_words` CHANGE `word` `word` VARBINARY( 40 ) NOT NULL ");
Подробнее на офсайте - http://forums.punbb.org/viewtopic.php?id=5882
13. Как мне сделать что-то вроде модуля для моего сайта, выводящего последние темы/сообщения/статистику форума?
Для этого используется файл extern.php из корневой директории форума. Например, для вывода 7 последних активных тем используется скрипт:
<?php include "http://yoursite.com/forum/extern.php?action=active&show=7"; ?>
Подробная инструкция по использованию extern.php написана в самом файле, вывод другой информации делается по-анологии.
Подробнее на русском:
Вывод последних сообщений с форума на сайт
Подробнее на английском:
http://punbb.org/forums/viewtopic.php?id=16096 - примеры кода, когда сайт и форум в одной БД и в разных
http://punbb.org/forums/viewtopic.php?id=4160 - готовый мод для punbb, выводит на главной странице форума последние активные темы
http://punbb.org/forums/viewtopic.php?id=16412 - если возникли проблемы
http://punbb.org/forums/viewtopic.php?id=14244 - если возникли проблемы
http://punbb.org/forums/viewtopic.php?id=14244 - если возникли проблемы
14. Как убрать показ IP модераторам? (Администраторы видят IP по-прежнему)
В файле в viewtopic.php находим
if ($pun_user['g_id'] < PUN_GUEST)
{
$user_info[] = '<dd>IP: <a href="moderate.php?get_host='.$cur_post['id'].'">'.$cur_post['poster_ip'].'</a>';
if ($cur_post['admin_note'] != '')
$user_info[] = '<dd>'.$lang_topic['Note'].': <strong>'.pun_htmlspecialchars($cur_post['admin_note']).'</strong>';
}
меняем на
// MODERS not VIEW IP
if ($pun_user['g_id'] == PUN_ADMIN)
// if ($pun_user['g_id'] < PUN_GUEST)
{
$user_info[] = '<dd>IP: <a href="moderate.php?get_host='.$cur_post['id'].'">'.$cur_post['poster_ip'].'</a>';
// start MODERS not VIEW IP
}
if ($pun_user['g_id'] < PUN_GUEST)
{
// end MODERS not VIEW IP
if ($cur_post['admin_note'] != '')
$user_info[] = '<dd>'.$lang_topic['Note'].': <strong>'.pun_htmlspecialchars($cur_post['admin_note']).'</strong>';
}
здесь же
if ($pun_user['g_id'] < PUN_GUEST)
меняем на
// MODERS not VIEW IP
if ($pun_user['g_id'] == PUN_ADMIN)
// if ($pun_user['g_id'] < PUN_GUEST)
Находим в файле profile.php
<p><?php echo $lang_common['Registered'] ?>: <?php echo format_time($user['registered'], true); if ($pun_user['g_id'] < PUN_GUEST) echo ' (<a href="moderate.php?get_host='.pun_htmlspecialchars($user['registration_ip']).'">'.pun_htmlspecialchars($user['registration_ip']).'</a>)'; ?></p>
меняем на
<?php if ($pun_user['g_id'] == PUN_ADMIN): ?>
<p><?php echo $lang_common['Registered'] ?>: <?php echo format_time($user['registered'], true); if ($pun_user['g_id'] < PUN_GUEST) echo ' (<a href="moderate.php?get_host='.pun_htmlspecialchars($user['registration_ip']).'">'.pun_htmlspecialchars($user['registration_ip']).'</a>)'; ?></p>
<?php endif; ?>
В файле admin_users.php находим
$actions = '<a href="admin_users.php?ip_stats='.$user_data['id'].'">Статистика IP</a> - <a href="search.php?action=show_user&user_id='.$user_data['id'].'">Показать сообщения</a>';
меняем на
if ($pun_user['g_id'] == PUN_ADMIN)
$actions = '<a href="admin_users.php?ip_stats='.$user_data['id'].'">статистика IP</a> - <a href="search.php?action=show_user&user_id='.$user_data['id'].'">Показать сообщения</a>';
else
$actions = '<a href="search.php?action=show_user&user_id='.$user_data['id'].'">Показать сообщения</a>';
и
$actions = '<a href="admin_users.php?ip_stats='.$user_data['id'].'">Смотреть статистику IP</a> - <a href="search.php?action=show_user&user_id='.$user_data['id'].'">Показать сообщения</a>';
меняем на
if ($pun_user['g_id'] == PUN_ADMIN)
$actions = '<a href="admin_users.php?ip_stats='.$user_data['id'].'">статистика IP</a> - <a href="search.php?action=show_user&user_id='.$user_data['id'].'">Показать сообщения</a>';
else
$actions = '<a href="search.php?action=show_user&user_id='.$user_data['id'].'">Показать сообщения</a>';
а также
<h2 class="block2"><span>Поиск по IP адресу</span></h2>
<div class="box">
<form method="get" action="admin_users.php">
<div class="inform">
<fieldset>
<legend>Введите IP для поиска</legend>
<div class="infldset">
<table class="aligntop" cellspacing="0">
<tr>
<th scope="row">IP адрес<div><input type="submit" value=" Поиск " tabindex="25" /></div></th>
<td><input type="text" name="show_users" size="18" maxlength="15" tabindex="24" />
<span>IP для поиска в базе данных сообщений.</span></td>
</tr>
</table>
</div>
</fieldset>
</div>
</form>
</div>
меняем на
<?php if ($pun_user['g_id'] == PUN_ADMIN): ?>
<h2 class="block2"><span>Поиск по IP адресу</span></h2>
<div class="box">
<form method="get" action="admin_users.php">
<div class="inform">
<fieldset>
<legend>Введите IP для поиска</legend>
<div class="infldset">
<table class="aligntop" cellspacing="0">
<tr>
<th scope="row">IP адрес<div><input type="submit" value=" Поиск " tabindex="25" /></div></th>
<td><input type="text" name="show_users" size="18" maxlength="15" tabindex="24" />
<span>IP для поиска в базе данных сообщений.</span></td>
</tr>
</table>
</div>
</fieldset>
</div>
</form>
</div>
<?php endif; ?>
В ЛС в файле message_list.php находим
//Moderator and Admin stuff
if ($pun_user['g_id'] < PUN_GUEST)
{
$user_info[] = '<dd>IP: <a href="moderate.php?get_host='.$cur_post['id'].'">'.$cur_post['sender_ip'].'</a>';
if ($cur_post['admin_note'] != '')
$user_info[] = '<dd>'.$lang_topic['Note'].': <strong>'.pun_htmlspecialchars($cur_post['admin_note']).'</strong>';
}
меняем на
//Moderator and Admin stuff
// MODERS not VIEW IP
if ($pun_user['g_id'] == PUN_ADMIN)
// if ($pun_user['g_id'] < PUN_GUEST)
{
$user_info[] = '<dd>IP: <a href="moderate.php?get_host='.$cur_post['id'].'">'.$cur_post['sender_ip'].'</a>';
// start MODERS not VIEW IP
}
if ($pun_user['g_id'] < PUN_GUEST)
{
// end MODERS not VIEW IP
if ($cur_post['admin_note'] != '')
$user_info[] = '<dd>'.$lang_topic['Note'].': <strong>'.pun_htmlspecialchars($cur_post['admin_note']).'</strong>';
}
15. Проблема с кодировкой (вместо текста непонятная абракадабра). Что делать?
Прежде чем начать, важное замечание! Тестировать надо заново, каждый раз после внесения изменений, иначе не поймете, откуда взялась новая проблема и исчезла ли старая.
1) Возможно, нужно просто пересохранить некоторые файлы в нужной вам кодировке? Для этого нужно открыть все админ-скрипты в редакторе с поддержкой utf, пересохранить в нужной кодировке и перезалить. Таким же способом надо пересохранить все скрипты плагинов в директории /plugins. В зависимости от сборки набор пересохранямых файлов может меняться, поэтому здесь никакой конкретики.
2) Проверить в mysql.php наличие строки:
//@mysql_query("SET NAMES 'utf8'");
раскомментировать, поэксперементировать с параметром "SET NAMES", подставляя разные значения (utf-8, cp1251, windows-1251).
3) В файле common.php:
'lang_encoding' => 'utf-8',
utf сменить на windows-1251, или наоборот, в зависимости от вашего случая опять же.
4) Проверить, какой header content-encoding шлет сервер. Если не верный, то задаем принудительно. header.php, находите строку:
header('Pragma: no-cache');
после нее вставляете:
header('Content-type: text/html; charset=utf-8');
utf-8 или cp1251, как всегда, в зависимости от того, что вам требуется. Возможно придется добавить в include/functions.php, в функцию redirect тот же header
5) В .htacces прописать строку:
AddDefaultCharset utf-8
(или win-1251, в зависимости от того, что вам нужно). Или же можно прописать:
AddDefaultCharset Off
тогда браузеры будут на автомате использовать <meta ...charset...> страниц. Имейте ввиду, что это может быть запрещено хостером, если проблема с кодировками никак не хочет решаться, имеет смысл напрямую связаться с вашим хостером и требовать у него разрешения проблемы.
6) Проверить default charset и collation у таблиц в БД, выставить там нужную кодировку, если что-то не так.
7) Встречается похожая проблема, когда выпадает одна или несколько букв (обычно "ш" или "и"), и вместо нее выводится "?". В таком случае, нужно проверить в config.php, что тип БД не mysqli, а обычный mysql. Также в этом случае может помочь раскомментирование строки SET NAMES в mysql.php, описанное выше.
И последнее, при эксперементах может получиться так, что старые данные остаются в крякозябрах, но новые создаются уже нормально. Значит проблема решена. Старые записи можно восстановить с помощью бэкапа и конвертации.
Если ничего не помогло, можно еще немного почитать о проблеме с кодировками в связке php/mysql. Удачи!
16. При совершении некоторых операций (удаление форума/категории, редактирование сообщений, сохранение настроек) возникает ошибка:
Неверный источник. Вы попали на эту страницу из несанкционированного источника. Пожалуйста, вернитесь и попробуйте еще раз. Если проблема осталась, пожалуйста, убедитесь что 'Начальный URL' правильно установлен в Администрирование/Свойства и, что, Вы попадаете на форум через этот URL.
Причин может быть несколько:
1) Неверно указан Base URL в настройках форума. Очистите каталог "cache", затем исправьте значение "o_base_url" в таблице "config" (с помощью phpMyAdmin).
2) Может быть отключена передача источника при переходах в самом браузере, и из-за этого появляется данная ошибка, везде, где стоит проверка источника. Решается включением в браузере передачи источника перехода.
3) HTTP_REFERER пустой. Возможно прокси/файерволл вырезает его. Решение - добавить сайт в список исключений в настройках файерволла.
4) Закомментировать вызов confirm_referrer() в тех функциях и файлах, которые вызывают ошибку. Это чревато подделкой источника, т.е. запрос на какое-то действие можно прислать не только с этой страницы, но и произвольно. Но без куков админа все равно ничего не получится, так что это не критично.
Редактировался nobody (2008-10-09 22:13:43)
17. Как мне перейти с ветки 1.2.x на ветку 1.3.x?
1. Бэкап и конвертация:
- Делаем бэкап базы,
- Открываем в текстовом редакторе с корректной поддержкой utf,
- Производим конвертацию из cp1251 в utf8, сохраняем,
- Делаем замену "cp1251" на "utf8" по файлу, сохраняем,
2. Восстановление базы:
- Удаляем старую базу,
- Выставляем PHPMyAdmin во вкладке "Операции" "Сравнение" - "utf8_general_ci"
- Восстанавливаем базу используя дамп, кодировка которого utf8.
3. Запуск скрипта обновления:
- Удаляем все старые файлы кроме config.php (можно сохранить содержимое папки /img, если нужно сохранить аватары и если есть оригинальные смайлы),
- Заливаем распакованное содержимое архива (то, что внутри папки "punbb-1.3")
- Запускаем скрипт db_update.php по адресу example.com/punbb/admin/db_update.php, где example.com/punbb/ - адрес форума.
Если были установлены моды, возможно потребуется удаление таблиц, которые они создали.
---
Спасибо coordinator'у.
не пойму, как установить расширение? Например pun_antispam - что куда заливать, как запустить собственно саму установку?
Re: FAQВо влип! В админке поставил фукцию - профилактика форума, а сам вышел из админки и даже с самого форума - http://www.lazarevka.ru/forum/, переустановил версию форума, а теперь не знаю как в админку попасть:rolleyes:
Извиняюсь - не в ту ветку залез!
Редактировался ital (2009-02-14 21:10:40)
Если для 1.2, то файл \extras\turn_off_maintenance_mode.php из установочного пакета надо кинуть в корень форума через фтп и потом в браузере его открыть.
Кажется так.
К сожалению, версия 1.3.2
Добавлено спустя 33 минуты 12 секунд:
Спасибо, Visman!
Фууууу, выкрутился - перелил старые файлы на фтп и сделал бэкап, ну и запустил упомянутый Вами файл!
Редактировался ital (2009-02-14 21:12:56)
Уважаемые, заранее извиняюсь за ламерский вопрос:
Интересует панелька, та что bar.php. В стандартной установке я так понимаю ее нет.
В файлах на сервере (версия 1.3.2) я такого файла не обнаружил, и никакой информации которая прояснила бы ситуацию тоже не нашел.
Подскажите пожалуйста что за расширение нужно установить, и где его взять.
Спасибо.
Редактировался artawasd (2009-04-20 21:07:14)
Страницы 1
Тема закрыта