有人可以帮助初学者吗? 它表示在非对象上调用成员函数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>');
}
}
}
答案 0 :(得分:1)
我假设你在torrent_download
函数中出现了这个错误?
如果是这样,那是因为$template
未定义。也许您在全局脚本中定义了它,但函数不会继承它。
您可以通过在函数的开头添加:global $template
(以及您需要的任何其他变量)来防止此问题。
答案 1 :(得分:0)
这通常意味着你在一个null的变量上调用某些东西。什么行号是错误返回??
您应该在分配后添加支票,以确保跟随不为空:
$download_result, $template, $torrent
据我所知,$ template永远不会被定义。