Jump to content
  • Checkout
  • Login
  • Get in touch

osCommerce

The e-commerce.

Error: in application_top.php on line 309


hempi

Recommended Posts

Posted

when I want to putt something to bascet i have:

 

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

 

The same when i go Back in browse.

 

Something wrong here:

// navigation history

if (tep_session_is_registered('navigation')) {

if (PHP_VERSION < 4) {

$broken_navigation = $navigation;

$navigation = new navigationHistory;

$navigation->unserialize($broken_navigation);

}

} else {

tep_session_register('navigation');

$navigation = new navigationHistory;

}

$navigation->add_current_page();

 

The system is OpenBSD, PHP 4.3.3

Posted

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.

  • 2 months later...
Posted

Why would my site suddenly get this error:

 

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

 

My hoster says the server hasn't changed. I can't reboot the server or change the php.ini.

 

Check this link http://www.naturalzing.com/catalog/index.php

 

Seems to be only the catalog, admin works.

  • 4 months later...
Posted

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:

 

// 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.

Archived

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

×
×
  • Create New...