0

有人可以帮助初学者吗?它说在非对象上调用成员函数 set();我已经对此进行了 3 天的修改,但无法弄清楚导致此错误的原因。

这是代码

function torrent_download($item_details, $output_type = 'show_torrent')
    {
    $template->set('session', $session);
$torrent = $show->torrent_download($session->value('user_id'));
    {
    if ($session->value('is_seller'))
    {
        $show_tips = $db->count_rows('users', "WHERE user_id='" . $session->value('user_id') . "' AND notif_a=0");

        if ($show_tips)
        {
            $msg_member_tips = '<p class="errormessage">' . MSG_MEMBER_TIPS_A . '<br>' . MSG_MEMBER_TIPS_B . '</p>';
            $db->query("UPDATE " . DB_PREFIX . "users SET notif_a=1 WHERE user_id='" . $session->value('user_id') . "'");
        }
        $template->set('msg_member_tips', $msg_member_tips);
    }



if (isset($_REQUEST['form_download_proceed']))
    {
        $download_result = download_redirect($_REQUEST['winner_id'], $session->value('user_id'));

        if ($download_result['redirect'])
        {
            header('Location: ' . $download_result['url']);
        }

        $template->set('msg_changes_saved', '<p align="center">' . $download_result['display'] . '</p>');

    }
    }
    }
4

2 回答 2

1

我假设您在torrent_download函数内部遇到此错误?

如果是这样,那是因为$template未定义。也许您在全局脚本中定义了它,但函数不会继承它。

global $template您可以通过在函数开头添加:(以及您需要的任何其他外部变量)来防止此问题。

于 2012-04-23T19:38:57.287 回答
0

这通常意味着您在为空的变量上调用某些东西。错误返回什么行号?

您应该在分配后添加检查以确保以下内容不为空:

$download_result, $template, $torrent

据我所知, $template 从未定义过。

于 2012-04-23T19:39:06.240 回答