shannont Posted March 8, 2012 Share Posted March 8, 2012 Hello guys I'm pulling out my last remaining hairs with this PHP problem. I'm not really good at PHP but I'm trying to do some changes to a script as instructed by the developer, but apparently I got some wrong instructions. The error I get is: Fatal error: Call to a member function postage_country_display() on a non-object in file.php on line 34 I've been searching the web high and low and can't seem to find a solution. Does anyone have a hint at what might be wrong? Here is the code that's causing the problem and the class. Code: $template->set('items_id', intval($_REQUEST['items_id'])); $item_details = $db->get_sql_row("SELECT * FROM " . DB_PREFIX . "items WHERE items_id='" . intval($_REQUEST['items_id']) . "'"); $unCountryPrice = unserialize(stripslashes($db->add_special_chars($item_details['country_postage']))); // print_r($unCountryPrice); $postageCountry = $item->postage_country_display($unCountryPrice,$item_details['currency']); $template->set('postageCountry', $postageCountry); $template->set('item_details', $item_details); And here is the class: function postage_country_display($unCountryPrice,$currency) { if (is_array($unCountryPrice)) { $postageCountry = "<table border=\"0\" cellspacing=\"0\" cellpadding=\"0\"> "; $fees = new fees(); while (list($k,$v)= each($unCountryPrice)){ $cQueyr = $this->query("SELECT a.name as name1,b.name as name2 FROM " . DB_PREFIX . "countries a LEFT JOIN " . DB_PREFIX . "countries b ON (a.parent_id = b.id) WHERE a.id = '". $k ."'"); $cRow = $this->fetch_array($cQueyr); $postageCountry.="<tr><td>". ($cRow['name2']==""?$cRow['name1']:$cRow['name2'].' > '.$cRow['name1']) ."</td><td> ".$currency.' '.number_format($v,2)."</td></tr>"; } $postageCountry.="</table>"; } return $postageCountry; Quote Link to comment https://forums.phpfreaks.com/topic/258548-fatal-error-call-to-a-member-function-postage_country_display-on-a-non-object/ Share on other sites More sharing options...
shannont Posted March 8, 2012 Author Share Posted March 8, 2012 I forgot to mention, when I uncomment this line: // print_r($unCountryPrice); and comment the line below instead, then it outputs the script correctly and also the variables correctly on top of the HTML page like this: Array ( [2084] => 1.00 [1903] => 2.00 ) Maybe that helps. Quote Link to comment https://forums.phpfreaks.com/topic/258548-fatal-error-call-to-a-member-function-postage_country_display-on-a-non-object/#findComment-1325325 Share on other sites More sharing options...
shannont Posted March 8, 2012 Author Share Posted March 8, 2012 Got it working. I had to move the code under where $item is defined. CASE CLOSED! Quote Link to comment https://forums.phpfreaks.com/topic/258548-fatal-error-call-to-a-member-function-postage_country_display-on-a-non-object/#findComment-1325335 Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.