【问题标题】:Trackback not working in CodeigniterTrackback 在 Codeigniter 中不起作用
【发布时间】:2011-11-29 09:50:18
【问题描述】:

我有两个控制器:
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”的表中。

但是当我尝试查看该页面时,它会导致以下错误:

遇到未知错误。

是什么导致了这个错误?

【问题讨论】:

  • 尝试在这些 trackback 方法上使用一些 var_dump,以便我们更好地了解它内部发生了什么,它是如何接收信息并返回它的。

标签: php codeigniter trackback


【解决方案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 或其他一些地方。取决于您的操作系统

【讨论】:

    猜你喜欢
    • 2012-12-16
    • 2014-12-23
    • 2018-04-23
    • 2021-03-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多