Вопрос

У меня есть два контроллера:
test.php

public function trackback()
{
    $this->load->library('trackback');
    $tb_data = array(
                 'ping_url'  => 'http://www.citest.com/addtrackback/receive/777',
                 'url'       => 'http://www.citest.com/test/trackback/',
                 'title'     => 'Заголовок',
                 'excerpt'   => 'Текст.',
                 'blog_name' => 'Название блога',
                 'charset'   => 'utf-8'
                 );

    if ( ! $this->trackback->send($tb_data))
    {
        echo $this->trackback->display_errors();
    }
    else
    {
        echo 'Trackback успешно отправлен!';
    }
} 

функция trackback() отправляет trackback Информация

addtrackback.php

public function receive()
{
    $this->load->library('trackback');

    if ($this->uri->segment(3) == FALSE)
    {
        $this->trackback->send_error("Не указан ID записи ");
    }

    if ( ! $this->trackback->receive())
    {
        $this->trackback->send_error("Trackback содержит некорректные данные!");
    }

    $data = array(
                 'tb_id'      => '',
                 'entry_id'   => $this->uri->segment(3),
                 'url'        => $this->trackback->data('url'),
                 'title'      => $this->trackback->data('title'),
                 'excerpt'    => $this->trackback->data('excerpt'),
                 'blog_name'  => $this->trackback->data('blog_name'),
                 'tb_date'    => time(),
                 'ip_address' => $this->input->ip_address()
                 );

    $sql = $this->db->insert_string('trackbacks', $data);
    $this->db->query($sql);

    $this->trackback->send_success();
}

функция receive() получает trackback и записывает это в таблицу под названием «трекбэк» в базе данных.

Но когда я пытаюсь просмотреть страницу, это приводит к следующей ошибке:

Была встречена неизвестная ошибка.

Что вызывает эту ошибку?

Это было полезно?

Решение

Вы ссылаетесь на библиотеку или функцию, в которой вы находитесь? if ( ! $this->trackback->send($tb_data))

Попробуйте изменить это на что -то вроде

public function trackback(){
$this->load->library('trackbackLibrary');

Что вы пытаетесь достичь, потому что кажется, что вы пытаетесь сделать оператор IF для того же процесса.

if ($this->uri->segment(3) == FALSE)
{
    $this->trackback->send_error("Не указан ID записи ");
}

if ( ! $this->trackback->receive())
{
    $this->trackback->send_error("Trackback содержит некорректные данные!");
}

Кроме того, проверьте свой файл error_log, чтобы увидеть, какую фактическую ошибку его бросает. /var/log или некоторые другие места. В зависимости от вашей ОС

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top