Trackback не работает в Codeigniter
У меня есть два контроллера:
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
и записывает его в таблицу под названием "trackbacks" в базе данных.
Но когда я пытаюсь просмотреть страницу, это приводит к следующей ошибке:
Обнаружена неизвестная ошибка.
Что вызывает эту ошибку?
1 ответ
Решение
Вы ссылаетесь на библиотеку или функцию, в которой вы находитесь? 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
или в некоторых других местах. В зависимости от вашей ОС