Jump to content
  • Checkout
  • Login
  • Get in touch

osCommerce

The e-commerce.

help - Item added to cart - but disappears when browsing


Guest

Recommended Posts

Hello,

 

I can add an item to a cart - but when I continue browsing for other products, the items in the cart disappear. The site in question is www.mobilitycare.com

 

I have sid killer installed and uninstalled it to see if thats the problem and saw no change.

 

Any ideas?

 

Thanks.

 

Roy

Link to comment
Share on other sites

I think you are on the write track with the sid killer. Double check to make sure you have it completely disabled.

 

//================================================================

if ( ($HTTP_GET_VARS['currency']) ) {

  tep_session_register('kill_sid');

  $kill_sid=false;

 }

if (basename($_SERVER['HTTP_REFERER']) == 'allprods.php' ) $kill_sid = true;

if ( ( !tep_session_is_registered('customer_id') ) && ( $cart->count_contents()==0 ) && (!tep_session_is_registered('kill_sid') ) ) $kill_sid = true;

if (basename($PHP_SELF) == FILENAME_LOGIN ) $kill_sid = false;

// To disbale the SID Killer un comment the line below (will make this an admin selection

//$kill_sid = false;

//================================================================  

 

Like this code.

Steve

-------------------------

Link to comment
Share on other sites

Thanks Steve. Still no go.

 

I copied and pasted the code you provided and tried commeting and uncommeting the $kill_sid=false line. Both methods did not solve the problem.

 

Any ideas? Is this a problem with application_top.php?

 

Thanks for the help.

 

Roy

Link to comment
Share on other sites

If you notice that if you disable cookies your cart works fine. So, the cart isn't reading cookies. Aparently when you installed the sid killer you disable cookies somewhere. It is setting the cookie, but not reading it. Go back through the install of the sid killer and make sure everything is taken out and you don't have a line with a typo in it. There is another way to disable sids for search engines without using Ian's Sid killer. I'll find it and post the thread here.

Steve

-------------------------

Link to comment
Share on other sites

I removed the sid killer completely and still the same problem.

 

Would it help if I post any files contents here?

 

Thanks again.

Link to comment
Share on other sites

I even uploaded the original application_top and html_output and I am still having the problem.

 

Any idea what other files could effect this?

Link to comment
Share on other sites

It turned out that the file categories was causing the problem. I have no idea why, though - can anyone see if anything is wrong:

 

<?php

/*

 $Id: categories.php,v 1.23 2002/11/12 14:09:30 dgw_ Exp $



 osCommerce, Open Source E-Commerce Solutions

 http://www.oscommerce.com



 Copyright (c) 2002 osCommerce



 Released under the GNU General Public License

*/



 function tep_show_category($counter) {

   global $foo, $categories_string, $id;



   $categories_string .= '<tr><td class="nav" height="18" align="left" valign="top" background="/images/nav_bg_blue.gif"><img src="/images/pixel_trans.gif" border="0" alt="" width="18" height="1">';

   for ($a=0; $a<$foo[$counter]['level']; $a++) {

     $categories_string .= "  ";

   }



   $categories_string .= '<a class="nav" href="';



   if ($foo[$counter]['parent'] == 0) {

     $cPath_new = 'cPath=' . $counter;

   } else {

     $cPath_new = 'cPath=' . $foo[$counter]['path'];

   }



   $categories_string .= tep_href_link(FILENAME_DEFAULT, $cPath_new);

   $categories_string .= '">';



   if ( ($id) && (in_array($counter, $id)) ) {

     $categories_string .= '<font color="91134c">';

   }



// display category name

   $categories_string .= $foo[$counter]['name'];



   if ( ($id) && (in_array($counter, $id)) ) {

     $categories_string .= '</font>';

   }



   if (tep_has_category_subcategories($counter)) {

     // $categories_string .= '->';

     $categories_string .= '';

   }



   $categories_string .= '</a></td></tr>';



   if (SHOW_COUNTS == 'true') {

     $products_in_category = tep_count_products_in_category($counter);

     if ($products_in_category > 0) {

       $categories_string .= ' (' . $products_in_category . ')';

     }

   }



   $categories_string .= '';



   if ($foo[$counter]['next_id']) {

     tep_show_category($foo[$counter]['next_id']);

   }

 }

?>

<!-- categories //-->

         <tr>

           <td>

<?php

 $info_box_contents = array();

 $info_box_contents[] = array('align' => 'left',

                              'text'  => BOX_HEADING_CATEGORIES

                             );

 //new infoBoxHeading($info_box_contents, true, false);



 $categories_string = '';



 $categories_query = tep_db_query("select c.categories_id, cd.categories_name, c.parent_id from " . TABLE_CATEGORIES . " c, " . TABLE_CATEGORIES_DESCRIPTION . " cd where c.parent_id = '0' and c.categories_id = cd.categories_id and cd.language_id='" . $languages_id ."' order by sort_order, cd.categories_name");

 while ($categories = tep_db_fetch_array($categories_query))  {

   $foo[$categories['categories_id']] = array(

                                       'name' => $categories['categories_name'],

                                       'parent' => $categories['parent_id'],

                                       'level' => 0,

                                       'path' => $categories['categories_id'],

                                       'next_id' => false

                                      );



   if (isset($prev_id)) {

     $foo[$prev_id]['next_id'] = $categories['categories_id'];

   }



   $prev_id = $categories['categories_id'];



   if (!isset($first_element)) {

     $first_element = $categories['categories_id'];

   }

 }



 //------------------------

 if ($cPath) {

   $new_path = '';

   $id = split('_', $cPath);

   reset($id);

   while (list($key, $value) = each($id)) {

     unset($prev_id);

     unset($first_id);

     $categories_query = tep_db_query("select c.categories_id, cd.categories_name, c.parent_id from " . TABLE_CATEGORIES . " c, " . TABLE_CATEGORIES_DESCRIPTION . " cd where c.parent_id = '" . $value . "' and c.categories_id = cd.categories_id and cd.language_id='" . $languages_id ."' order by sort_order, cd.categories_name");

     $category_check = tep_db_num_rows($categories_query);

     if ($category_check > 0) {

       $new_path .= $value;

       while ($row = tep_db_fetch_array($categories_query)) {

         $foo[$row['categories_id']] = array(

                                             'name' => $row['categories_name'],

                                             'parent' => $row['parent_id'],

                                             'level' => $key+1,

                                             'path' => $new_path . '_' . $row['categories_id'],

                                             'next_id' => false

                                            );



         if (isset($prev_id)) {

           $foo[$prev_id]['next_id'] = $row['categories_id'];

         }



         $prev_id = $row['categories_id'];



         if (!isset($first_id)) {

           $first_id = $row['categories_id'];

         }



         $last_id = $row['categories_id'];

       }

       $foo[$last_id]['next_id'] = $foo[$value]['next_id'];

       $foo[$value]['next_id'] = $first_id;

       $new_path .= '_';

     } else {

       break;

     }

   }

 }

 tep_show_category($first_element);



 $info_box_contents = array();

 $info_box_contents[] = array('align' => 'left',

                              'text'  => '<table width="190" border="0" cellspacing="0" cellpadding="0" align="left">' . $categories_string . '</table>'

                             );

 new infoBox($info_box_contents);

?>

           </td>

         </tr>

<!-- categories_eof //-->

 

Thanks in advance.

Link to comment
Share on other sites

Archived

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

×
×
  • Create New...