Jump to content
  • Checkout
  • Login
  • Get in touch

osCommerce

The e-commerce.

Fatal Error...why?


Thousand Hound

Recommended Posts

Posted

Hi all,

 

I am receiving the following error on my site. Up until now, it has been fine and I don't think I've changed anything to cause it. Does anyone know what the problem might be.

 

 

Fatal error: Unknown(): The script tried to execute a method or access a property of an incomplete object. Please ensure that the class definition navigationhistory of the object you are trying to operate on was loaded _before_ the session was started in /home/thousand/public_html/sales/includes/application_top.php on line 309

 

This is what is on line 309.

 

$navigation->add_current_page();

 

Thanks

 

Mia

Posted
Hi all,

 

I am receiving the following error on my site. Up until now, it has been fine and I don't think I've changed anything to cause it. Does anyone know what the problem might be.

Fatal error: Unknown(): The script tried to execute a method or access a property of an incomplete object. Please ensure that the class definition navigationhistory of the object you are trying to operate on was loaded _before_ the session was started in /home/thousand/public_html/sales/includes/application_top.php on line 309

 

This is what is on line 309.

 

$navigation->add_current_page();

 

Thanks

 

Mia

 

I found two solutions to this problem using google... Now i don't know if these work but they seem to be the most effecient!

 

After wresting briefly with this problem, I found the solution. The problem is that in some configurations (at least mine), the navigation history section in "application_top.php" doesn't catch the possibility that the session "navigation" variable is registered and the PHP version running is 4 or above. I'm really not quite sure what caused this huge oversight on the part of the developers (with all due respect).

 

Change the nagivation history chunk of code to read:

 

 

CODE

 

// navigation history

if (tep_session_is_registered('navigation')) {

if (PHP_VERSION < 4) {

$broken_navigation = $navigation;

$navigation = new navigationHistory;

$navigation->unserialize($broken_navigation);

} else {

$navigation = new navigationHistory;

}

} else {

tep_session_register('navigation');

$navigation = new navigationHistory;

}

$navigation->add_current_page();

 

 

 

 

and it should work just fine.

 

or do this

 

I'm guessing if you close all your browser windows then go back to the site you get a msg at the top that says you need to disable session.auto_start in php.ini then reboot the server. This is your problem and to fix it you need to put a .htaccess file in the root dir of your site. In the .htaccess file it needs this code:

 

php_flag session.auto_start 0

 

Try doing that and it should fix the problem.

Good Luck

Jon

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...