Трекбек не работает в codeigniter
-
25-10-2019 - |
Вопрос
У меня есть два контроллера:
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
или некоторые другие места. В зависимости от вашей ОС