PDA

View Full Version : белая страница в админке форума.


mihas
10.09.2005, 01:54
При апгрэйте форума с 2.0.15 до 2.0.16 возникла проблема, не отображалась админка форума, просто белый лист. Перелопатив несколько форумов где то нашел решение, что проблема в файле pagestart.php который лежит в папке /modules/Forums/admin Я заменил его на какую то старую версию и все заработало. Позже я обновлял форум на 2.0.17 и вроде все было в порядке, но тут на днях один из админов мне сообщает, что в админку форума может зайти любой человек. Я проверил, точно, админка открыта полностью. Проблема с файлом pagestart.php Если залить этот файл с версии 2.0.16 то вместо админки белая страница, если заменить его на более старый вариант, а именно тот, что шел в комплекте с Nuke 7.5, то тогда в админку форума нельзя вообще попасть, пишет
You are not authorised to administer this board
или же третий вариант, использовать этот файл с самых первых версий нюки, тогда доступ открыт всем.
Кто поможет? Может быть кто то знает решение этой проблемы? Заранее благодарю.

Soniks
10.09.2005, 12:00
mihas как обновляли в ручную?
включите вывод ошибок на экран

mihas
10.09.2005, 12:11
обновляю только в ручную, потому как модов много. а как, извиняюсь, включить вывод ошибок на экран. я к сожалению не большой спец в Php.

Soniks
10.09.2005, 12:18
mihas поиск... http://forum.mynuke.ru/showthread.php?p=2960#post2960

mihas
10.09.2005, 12:43
Докладываю, включить вывод ошибок на экран не удалось, потому как нужной строки не нашел ни в mainfile.php ни в config.php. Попробовал просто добавить разрешение на вывод ошибок, это ни к чему не привело. Все осталось как и было.

Soniks
10.09.2005, 13:20
mihas включение ошибок осуществляется добавление в конфиг файл сл-ей строки:
error_reporting (E_ALL ^ E_NOTICE);
Возможно у вас стоит запрет вывода ошибок в файле .htaccess, например присутствие, таких строк:
php_flag display_errors off
php_value error_reporting 0
на данный момент у вас стот форум какой версии? копирование файлов из старых версий форума это неправильно, и еще больше вас запутает!

mihas
10.09.2005, 13:37
такс, получилось. у меня действительно стоял запрет на вывод ошибок. версия форума у меня 2.0.17.
теперь при заходе в админпанель вместо белой страницы получаю следующее

Warning: main(db/mysql.php) [function.main]: failed to open stream: No such file or directory in /home/mihasnet/public_html/db/db.php on line 53

Warning: main() [function.include]: Failed opening 'db/mysql.php' for inclusion (include_path='.:/usr/lib/php:/usr/local/lib/php') in /home/mihasnet/public_html/db/db.php on line 53

Fatal error: Class 'sql_db' not found in /home/mihasnet/public_html/db/db.php on line 86

А вот сам файл db.php
global $forum_admin;
if ($forum_admin == 1) {
$the_include = "../../../db";
} elseif ($inside_mod == 1) {
$the_include = "../../db";
} else {
$the_include = "db";
}

switch($dbtype) {

case 'MySQL':
include("".$the_include."/mysql.php");
break;

case 'mysql4':
include("".$the_include."/mysql4.php");
break;

case 'postgres':
include("".$the_include."/postgres7.php");
break;

case 'mssql':
include("".$the_include."/mssql.php");
break;

case 'oracle':
include("".$the_include."/oracle.php");
break;

case 'msaccess':
include("".$the_include."/msaccess.php");
break;

case 'mssql-odbc':
include("".$the_include."/mssql-odbc.php");
break;

case 'db2':
include("".$the_include."/db2.php");
break;

}

$db = new sql_db($dbhost, $dbuname, $dbpass, $dbname, false);
if(!$db->db_connect_id) {
die("<br><br><center><img src=images/logo.gif><br><br><b>There seems to be a problem with the MySQL server, sorry for the inconvenience.<br><br>We should be back shortly.</center></b>");
}

53 строка
include("".$the_include."/mysql.php");
86 строка
$db = new sql_db($dbhost, $dbuname, $dbpass, $dbname, false);

Soniks
10.09.2005, 14:06
mihas а патчи у вас стоят какие либо ? попробуйте в файле db.php
в замен
$forum_admin == 1
написать:
defined('FORUM_ADMIN')

mihas
10.09.2005, 14:27
Попробовал, ошибок стало раз в 10 больше. Патчи никакие не ставил, только моды. Хотя исправления в версию 2.0.17 вносил, когда обнаружили дыры с bbcode и вставкой удаленной аватары. Но это по моему к моей проблеме отношения не имеет.
Мне кажется, что нужно внести изменения в файл pagestart.php, но вот какие. Там какие то проблемы с определением админских прав. Если поставить последюю версию этого файла, то получается белая страница, если предыдущую, то все время запрещен доступ а если самую первую, то доступ открыт для всех.

Soniks
10.09.2005, 15:24
mihas
а какого рода ошибки пошли?
заменить modules/Forums/admin/pagestart.php
из BBtoNuke2.0.17 и посмотрите что будет.

mihas
10.09.2005, 15:29
в основном в common.php и еще много разных, там на 2 страницы. Я ставил pagestart.php с BBtoNuke2.0.17 точно так же пустая страница. Придется видно ставить старый вариант и закрывать админку по .htaccess

Soniks
10.09.2005, 15:32
mihas может легче поставить BBtoNuke2.0.17 и проделать моды заново.

mihas
10.09.2005, 18:24
:lol: э не, только не это. Один только мод Yellow card меня чуть в могилу не вогнал. Лучше я уж чего нибудь выкручивать буду, чем все наново ставить.
Тем более, что скорее всего эта беда произошла после upgrade с 2.0.15 на 2.0.16 просто я внимания раньше на это не обратил.

Soniks
10.09.2005, 18:47
mihas ну проделайте обновления заново, если есть резервная копия, до апгрейда:jump:

mihas
11.09.2005, 00:04
в том то и дело, что нету, хоть бери да откатывай по шагам назад.

mihas
19.09.2005, 23:38
Фуф, ну в общем ничего не получилось, чего я уже только не делал. Другого много напортил, ели восстановил.
Soniks у меня последний вопрос. Я не спец в PHP, поэтому сам незнаю как сделать. Как добавить в файл проверку пользователь или админ, если админ - пустить, пользователь - нет.
Вот в файле pagestart.php есть такие строки
global $admin;
$admin = base64_decode($admin);
$admin = explode(":", $admin);
$aid = "$admin[0]";
$sql = "SELECT radminforum, radminsuper FROM ".$prefix."_authors WHERE aid='$aid'";
$result = $db->sql_query($sql);
$row = $db->sql_fetchrow($result);
if (!is_admin($admin) AND ($row[radminsuper] != 1 OR $row[radminforum] != 1)) {
message_die(GENERAL_MESSAGE, "You are not authorised to administer this board");
}
При таком состоянии дел в админку не впускает никого, если эти строки убрать вообще, то пускает всех. Т.е. я так понял, здесь идет проверка прав доступа, но с ошибкой. Нельзя как то отредактировать эти строки, чтобы корректно админ определялся? У меня нюка 7,5

Soniks
20.09.2005, 00:21
возмите файл modules/Forums/admin/pagestart.php из нашего пака (http://mynuke.ru/modules.php?name=Downloads&op=getit&lid=30) и замените.
он сто пудово рабочий!

mihas
20.09.2005, 01:12
заменил. наша песня хороша, начинай сначала. чистая страница вместо админки и теже ошибки.

Soniks
20.09.2005, 01:19
mihas так не будем мучатся, а то это я чувствую на долго, собирай все файлы форума, в том числе и из папке includes, пакуй и шли на мыло webmaster[at]mynuke[dot]ru
кроме админки проблем надеюсь нет :)

mihas
20.09.2005, 02:34
Soniks отправил, заранее благодарю.

Soniks
20.09.2005, 23:11
mihas файлы отослал, смотри...
файл common.php был от форума phpbb, а не bbtonuke, так же pagestart.php содержал не весь код.
файлы от версии 2.0.17.

mihas
20.09.2005, 23:33
Soniks спасибо. Ты будешь смеяться, но все осталось по прежнему, белая страница. Включил вывод ошибок на экран, ошибки тоже остались прежние. Я вот это думаю, как это файл common.php от форума ко мне попал, никак не могу вспомнить. Раз один файл попал, может еще есть парочку и в этом проблема?

Soniks
20.09.2005, 23:48
mihas использовал ваши присланые файлы, все работало нормально!
может вы их не заменили или перепутали...

mihas
21.09.2005, 00:42
да нет, я конечно может быть в некоторых вещах и не соображаю, но не настолько. тут я все правильно сделал. ошибки быть не может. раз у тебя все работало, то это наводит меня на мысль, что причина где то вне форума, может быть такое?

Soniks
21.09.2005, 00:53
mihas маловероятно:)

mihas
21.09.2005, 00:58
тогда я опускаю руки

De_Adarius
12.06.2007, 21:13
точно такая же проблема при обновлении с 2.0.7 на 2.0.8.
зы нет ли способа установить сразу 2.0.22?

ззы нюка 8.0

Soniks
12.06.2007, 21:43
De_Adarius в 8 версии как минимум стоит 2.0.21 версия, в некоторых 2.0.22 уже

De_Adarius
12.06.2007, 23:38
о_о но у меня в админке ясно написано, 2.0.7 !!!

Soniks
13.06.2007, 12:51
это осталось от версии швблона, не обращайте внимания

De_Adarius
13.06.2007, 13:26
это осталось от версии швблона, не обращайте внимания

De_Adarius в 8 версии как минимум стоит 2.0.21 версия, в некоторых 2.0.22 уже

В таком случае, как мне узнать, какая именно версия, 2.0.21 или 2.0.22?