Функция БД сообщает об отсутствии ошибок при добавлении новой статьи в Joomla

0

Возможный дубликат:
500 - произошла ошибка! Функция DB сообщает об ошибках при добавлении новой статьи в Joomla!

У меня есть статья, которую я хочу опубликовать на моей Joomla! сайт. Каждый раз, когда я нажимаю применить или сохранить. Я получаю ошибку 500 - An error has occurred! DB function reports no errors 500 - An error has occurred! DB function reports no errors. Я понятия не имею, почему возникает эта ошибка, но я могу думать, что это ошибка сервера.

Я использую TinyMCE, чтобы печатать статьи вместе с Joomla! 1.5.11.

Обновлено: я включил Максимальный отчет об ошибках в Joomla! и в менеджере статей я попытался сохранить статью и получил эти несколько ошибок. Пожалуйста, проверьте скриншот

Изображение 174551
(источник: techportal.co.za)

Я пытался добавить

<?php
ini_set('error_reporting', E_ALL);
error_reporting(E_ALL);
ini_set('log_errors',TRUE);
ini_set('html_errors',TRUE);
ini_set('display_errors',true);
?>

вверху страниц index.php для Joomla! но это не показывает никаких ошибок. Я проверил журналы ошибок на сервере, а также никаких ошибок не возникает.

Мне удалось опубликовать статью через phpMyAdmin, но потом произошло другое. Я пытаюсь получить доступ к статье из внешнего интерфейса, нажав на ссылку на статью, но появляется только пустая страница.

Это действительно странно, так как журнал ошибок не показывает никакой информации. Поэтому я предполагаю, что ошибка должна исходить от Joomla!

Это происходит, если я добавлю print_r ($ _ POST) раньше if (!$row->check()) {

    Array
(
    [title] => Test.
    [state] => 0
    [alias] => test
    [frontpage] => 0
    [sectionid] => 10
    [catid] => 44
    [details] => Array
        (
            [created_by] => 62
            [created_by_alias] => 
            [access] => 0
            [created] => 2008-10-25 13:31:21
            [publish_up] => 2008-10-25 13:31:21
            [publish_down] => Never
        )

    [params] => Array
        (
            [show_title] => 
            [link_titles] => 
            [show_intro] => 
            [show_section] => 
            [link_section] => 
            [show_category] => 
            [link_category] => 
            [show_vote] => 
            [show_author] => 1
            [show_create_date] => 0
            [show_modify_date] => 0
            [show_pdf_icon] => 
            [show_print_icon] => 
            [show_email_icon] => 
            [language] => 
            [keyref] => 
            [readmore] => 
        )

    [meta] => Array
        (
            [description] => Test.
            [keywords] => Test
            [robots] => 
            [author] => Test
        )

    [id] => 58
    [cid] => Array
        (
            [0] => 58
        )

    [version] => 30
    [mask] => 0
    [option] => com_content
    [task] => apply
    [ac1e0853fb1b3f41730c0d52de89dab7] => 1
)
  • 0
    Я не уверен, почему это происходит. Тем не менее, вам следует обновить Joomla до версии 1.5.14, поскольку в ней есть последние исправления ошибок и исправления безопасности.
  • 0
    Обновился до последней версии 1.5.14 и теперь мои кнопки «Применить» и «Сохранить» больше не хотят работать ???
Показать ещё 5 комментариев
Теги:
joomla
joomla1.5

3 ответа

4
Лучший ответ

Исключение составляет здесь /administrator/components/com_content/controller.php (около 693)

if (!$row->check()) {
    JError::raiseError( 500, $db->stderr() );
    return false;
}

Функция check() возвращает только false в двух случаях: либо title, либо introtext пусты.

Что бы я делал в вашем случае, это отредактировать файл controller.php выше и echo a var_dump of $row до появления ошибки. Возможно, из $_POST не поступает никаких данных.


Изменить. Похоже, что в вашем $_POST не отправляется тело вашей статьи. Это, скорее всего, связано с тем, что связано с формой, которая передает данные. На странице, где вы пытаетесь создать статью, посмотрите исходный код HTML. В моей установке Joomla текстовое поле называется "text". Удостоверьтесь, что у него есть это имя, и что ничто в этой форме не называется "text".

  • 0
    Я попробую это и сослаться
  • 0
    Сделал ли var_dump и introtext пустой объект (JTableContent) # 128 (34) {["id"] => int (58) ["title"] => string (67) "Broken Article." ["alias"] => string (65) "broken-article" ["title_alias"] => NULL ["introtext"] => string (0) "" ["fulltext"] => string (0) ""
Показать ещё 7 комментариев
0

Это фатальная ошибка сервера. Мы не можем решить вашу проблему, пока не узнаем, что такое сообщение об ошибке, поэтому первым шагом будет просмотр файлов журнала и включение отладочного вывода, чтобы узнать, что такое сообщение об ошибке.

Чтобы включить весь вывод отладки, добавьте следующий код в начало страницы:

<?php
ini_set('error_reporting', E_ALL);
error_reporting(E_ALL);
ini_set('log_errors',TRUE);
ini_set('html_errors',TRUE);
ini_set('display_errors',true);
?>

Похоже, вы пытаетесь добавить статью в админ.

В компонентах /com _content/controller.php, например, 693, мы видим ошибку, потому что данные, которые вы пытались сохранить, недействительны. Либо вы установили расширение, которое испортило joomla, либо каким-либо другим способом система нестабильна.

Я рекомендую удалять расширения; если это не поможет, переустановите Joomla, чтобы исправить вашу проблему.

  • 0
    Пожалуйста, смотрите мой скриншот, который я добавил
  • 0
    Я добавил эти строки вверху страницы и никаких ошибок не возникало
Показать ещё 1 комментарий
0

500 ошибок часто являются фатальной ошибкой, вызванной PHP. Вероятно, ваш сервер отключен, поскольку пользователи не должны видеть эти ошибки.

Поместите это где-нибудь в свой PHP-код и проверьте, не видны ли какие-либо ошибки PHP:

<?php
error_reporting(E_ALL);
ini_set('display_errors', 1);
?>
  • 0
    При добавлении этого вверху страницы ошибок не возникает

Ещё вопросы

Сообщество Overcoder
Наверх
Меню