PDA

View Full Version : журнал...


Freikorpse
10.06.2007, 03:09
Дело было так. Поствил нюку на локальный сервер Денвер. Всё настроил. Начал проверять Зарегистрировался сам как рядовой пользователь. Подключил модуль журнала. Написал в этом журнале что-то типа "Проба пера". После этого не могу открыть и прочитать то, что написал, хотя в виде ссылки это и отображается...
Выдаёт браузер что-то вроде

Fatal error: Cannot redeclare opentable() (previously declared in z:\home\localhost\www\themes\DeepBlue\theme.php:11) in z:\home\localhost\www\themes\DeepBlue\theme.php on line 10

Нашёл десятую строку...

с десятой...
function OpenTable() {
global $bgcolor1, $bgcolor2;
echo "<table width=\"100%\" border=\"0\" cellspacing=\"1\" cellpadding=\"0\" bgcolor=\"$bgcolor2\"><tr><td>\n";
echo "<table width=\"100%\" border=\"0\" cellspacing=\"1\" cellpadding=\"8\" bgcolor=\"$bgcolor1\"><tr><td>\n";
}

И как жить дальше?

Astrix
10.06.2007, 12:20
перед ней напишите:


if (!function_exists("OpenTable")) {


после нее:


}


скорее всего там будет еще функция CloseTable ()

для нее проделайте то же самое:
перед ней напишите:


if (!function_exists("CloseTable")) {


после нее:


}

Freikorpse
13.06.2007, 11:21
То есть, если я правильно понял алгоритм действий такой:
Нюка ищет функцию OpenTable и не находит, поэтомувпадает в состояние фрустрации.
Чтобы этого не произошло вписываешь условие, что функцию следует выполнить только в случае её существования

if (!function_exists("***")) ...

ну так вот:
вставил я это условие для функций OpenTable и CloseTable, а потом по аналогии и для всех остальных функций, потому что ошибка поехала вниз по всему файлу theme.php

То есть сначала ошибка на линии 10, потом на линии 15, потом на линиии 20 и так до конца по всем началам функций

И как следовало ожидать это привело к тому, что:

Warning: head(includes/my_header.php) [function.head]: failed to open stream: No such file or directory in z:\home\localhost\www\modules\Journal\header.php on line 45
Warning: head() [function.include]: Failed opening 'includes/my_header.php' for inclusion (include_path='.;/usr/local/php/PEAR') in z:\home\localhost\www\modules\Journal\header.php on line 45

+

Fatal error: Call to undefined function: themesidebox() in z:\home\localhost\www\mainfile.php on line 571

У меня две версии: это контроль ошибок или что-то другое.

Так чё делать?...
:oooo:

Soniks
13.06.2007, 12:55
Freikorpse не верно, читайте доки php
где то в теме встречается дважды определений функция, и данное условие if как раз смотрит, определина ли уже функци такая компилятором или нет, если нет то выводит из условия