Jump to content
  • Checkout
  • Login
  • Get in touch

osCommerce

The e-commerce.

MS2 SSL Problem


solardirect

Recommended Posts

I have migrated my OSC CVS site (05/18/03) to MS2 (after much work). When I test it on my test site: http://osc2.solardirect.com everything seems to work fine. As soon as I use it on my live site: https//shop.solardirect.com then I have problems with page layout.

 

The right nav boxes are sometimes wider than normal, or have big chunks of white space in them that does not belong; also the footer on many pages is not at the bottom but rather at the right side under the right nav boxes. If you refresh on some pages they work correctly some times and not other times. Works perfectly on test http site but same code and db messes up on https site. I'm not sure if it is something in my configuration file or the index.php and specials.php file (as these are the pages it happens on). Btw: I have my own SSL and have cache and all settings in Sessions turned to false.

 

It almost seems like I have a code issue, like an extra <td> or something...but it only happens on the secure site??? Any ideas???

 

Kirk

 

BTW: I have not had time yet to add OSC logo to the bottom of my site, but it is on my todo list.

Boom... Big butta boom.

Link to comment
Share on other sites

Here is my config file and below it my index.php file (which is heavily modified, and I have not yet brought forward the MS2 mods to it):

 

 

Config:

<?php

/*

 osCommerce, Open Source E-Commerce Solutions

 http://www.oscommerce.com



 Copyright (c) 2003 osCommerce



 Released under the GNU General Public License

*/



// Define the webserver and path parameters

// * DIR_FS_* = Filesystem directories (local/physical)

// * DIR_WS_* = Webserver directories (virtual/URL)

 define('HTTP_SERVER', 'https://shop.solardirect.com'); // eg, http://localhost - should not be empty for productive servers

 define('HTTPS_SERVER', 'https://shop.solardirect.com'); // eg, https://localhost - should not be empty for productive servers

 define('ENABLE_SSL', true); // secure webserver for checkout procedure?

 define('HTTP_COOKIE_DOMAIN', 'shop.solardirect.com');

 define('HTTPS_COOKIE_DOMAIN', '');

 define('HTTP_COOKIE_PATH', '/');

 define('HTTPS_COOKIE_PATH', '');

 define('DIR_WS_HTTP_CATALOG', '/');

 define('DIR_WS_HTTPS_CATALOG', '');

 

Admin config:

// Define the webserver and path parameters

// * DIR_FS_* = Filesystem directories (local/physical)

// * DIR_WS_* = Webserver directories (virtual/URL)

 define('HTTP_SERVER', 'https://shop.solardirect.com'); // eg, http://localhost - should not be empty for productive servers

 define('HTTP_CATALOG_SERVER', 'https://shop.solardirect.com');

 define('HTTPS_CATALOG_SERVER', 'https://shop.solardirect.com');

 define('ENABLE_SSL_CATALOG', 'true');

 

Index.php:

<?php

/*

 $Id: index.php,v 1.1 2003/06/11 17:37:59 hpdl Exp $



 osCommerce, Open Source E-Commerce Solutions

 http://www.oscommerce.com



 Copyright (c) 2003 osCommerce



 Released under the GNU General Public License

*/



 require('includes/application_top.php');



// the following cPath references come from application_top.php

 $category_depth = 'top';

 if (isset($cPath) && tep_not_null($cPath)) {

   $categories_products_query = tep_db_query("select count(*) as total from " . TABLE_PRODUCTS_TO_CATEGORIES . " where categories_id = '" . (int)$current_category_id . "'");

   $cateqories_products = tep_db_fetch_array($categories_products_query);

   if ($cateqories_products['total'] > 0) {

     $category_depth = 'products'; // display products

   } else {

     $category_parent_query = tep_db_query("select count(*) as total from " . TABLE_CATEGORIES . " where parent_id = '" . (int)$current_category_id . "'");

     $category_parent = tep_db_fetch_array($category_parent_query);

     if ($category_parent['total'] > 0) {

       $category_depth = 'nested'; // navigate through the categories

     } else {

       $category_depth = 'products'; // category has no products, but display the 'no products' message

     }

   }

 }



 require(DIR_WS_LANGUAGES . $language . '/' . FILENAME_DEFAULT);

?>

<!doctype html public "-//W3C//DTD HTML 4.01 Transitional//EN">

<html <?php echo HTML_PARAMS; ?>>

<head>

<meta http-equiv="Content-Type" content="text/html; charset=<?php echo CHARSET; ?>">

<?php

// BOF: WebMakers.com Changed: Header Tag Controller v1.0

// Replaced by header_tags.php

if ( file_exists(DIR_WS_INCLUDES . 'header_tags.php') ) {

 require(DIR_WS_INCLUDES . 'header_tags.php');

} else {

?> 

<title><?php echo TITLE; ?></title>

<?php

}

// EOF: WebMakers.com Changed: Header Tag Controller v1.0

?>

<base href="<?php echo (($request_type == 'SSL') ? HTTPS_SERVER : HTTP_SERVER) . DIR_WS_CATALOG; ?>">

<link rel="stylesheet" type="text/css" href="stylesheet.css">

</head>

<body marginwidth="0" marginheight="0" topmargin="0" bottommargin="0" leftmargin="0" rightmargin="0">

<!-- header //-->

<?php require(DIR_WS_INCLUDES . 'header.php'); ?>

<!-- header_eof //-->



<!-- body //-->

<table border="0" width="100%" cellspacing="3" cellpadding="3">

 <tr>

   <td width="<?php echo BOX_WIDTH; ?>" valign="top"><table border="0" width="<?php echo BOX_WIDTH; ?>" cellspacing="0" cellpadding="2">

<!-- left_navigation //-->

<?php require(DIR_WS_INCLUDES . 'column_left.php'); ?>

<!-- left_navigation_eof //-->

   </table></td>

<!-- body_text //-->

<?php

 if ($category_depth == 'nested') {

   $category_query = tep_db_query("select cd.categories_name, cd.categories_heading_title, cd.categories_description, c.categories_image from " . TABLE_CATEGORIES . " c, " . TABLE_CATEGORIES_DESCRIPTION . " cd where c.categories_id = '" . (int)$current_category_id . "' and cd.categories_id = '" . (int)$current_category_id . "' and cd.language_id = '" . (int)$languages_id . "'");

   $category = tep_db_fetch_array($category_query);

?>

   <td width="100%" valign="top"><table border="0" width="100%" cellspacing="0" cellpadding="0">

     <tr>

       <td><table border="0" width="100%" cellspacing="0" cellpadding="0">

         <tr>

    <td class="pageHeading"><img src="https://shop.solardirect.com/images/icons/arrowdown.jpg" align="left"><?php

             if ( (ALLOW_CATEGORY_DESCRIPTIONS == 'true') && (tep_not_null($category['categories_heading_title'])) ) {

               echo $category['categories_heading_title'];

               } else {

               echo $breadcrumb->last();

 }

 ?></td>

           <td class="pageHeading" align="right"></td>

         </tr>

       </table></td>

     </tr>

     <tr>

       <td><?php echo tep_draw_separator('pixel_trans.gif', '100%', '1'); ?></td>

     </tr>

     <tr>

       <td><table border="0" width="100%" cellspacing="0" cellpadding="2">

         <tr>

           <td><table border="0" width="100%" cellspacing="0" cellpadding="2">

             <tr>

<?php

   if (isset($cPath) && strpos('_', $cPath)) {

// check to see if there are deeper categories within the current category

     $category_links = array_reverse($cPath_array);

     for($i=0, $n=sizeof($category_links); $i<$n; $i++) {

       //$categories_query = tep_db_query("select c.categories_id, cd.categories_name, cd.categories_description, c.categories_image, c.parent_id from " . TABLE_CATEGORIES . " c, " . TABLE_CATEGORIES_DESCRIPTION . " cd where c.parent_id = '" . $category_links[$i] . "' and c.categories_id = cd.categories_id and cd.language_id = '" . $languages_id . "' order by sort_order, cd.categories_name");

       $categories_query = tep_db_query("select count(*) as total from " . TABLE_CATEGORIES . " c, " . TABLE_CATEGORIES_DESCRIPTION . " cd where c.parent_id = '" . (int)$category_links[$i] . "' and c.categories_id = cd.categories_id and cd.language_id = '" . (int)$languages_id . "'");

       $categories = tep_db_fetch_array($categories_query);

       if ($categories['total'] < 1) {

         // do nothing, go through the loop

       } else {

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

         $categories_query = tep_db_query("select c.categories_id, cd.categories_name, cd.categories_description, c.categories_image, c.parent_id from " . TABLE_CATEGORIES . " c, " . TABLE_CATEGORIES_DESCRIPTION . " cd where c.parent_id = '" . (int)$category_links[$i] . "' and c.categories_id = cd.categories_id and cd.language_id = '" . (int)$languages_id . "' order by sort_order, cd.categories_name");

         break; // we've found the deepest category the customer is in

       }

     }

   } else {

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

   }



   $number_of_categories = tep_db_num_rows($categories_query);



   $rows = 0;

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

     $rows++;

     $cPath_new = tep_get_path($categories['categories_id']);

     $width = (int)(100 / MAX_DISPLAY_CATEGORIES_PER_ROW) . '%';

     echo '<td align="left" class="smallText" style="width: ' . $width . '" valign="top"><a href="' . tep_href_link(FILENAME_DEFAULT, $cPath_new) . '">' . tep_image(DIR_WS_IMAGES . $categories['categories_image'], $categories['categories_name'], SUBCATEGORY_IMAGE_WIDTH, SUBCATEGORY_IMAGE_HEIGHT) . '</a>' . $categories['categories_description'] .'</td>' . "n";

     if ((($rows / MAX_DISPLAY_CATEGORIES_PER_ROW) == floor($rows / MAX_DISPLAY_CATEGORIES_PER_ROW)) && ($rows != $number_of_categories)) {

       echo '              </tr>' . "n";

       echo '              <tr>' . "n";

     }

   }



?>

             </tr>

           </table></td>

         </tr>

       </table></td>

     </tr>

   </table></td>

<?php

 } elseif ($category_depth == 'products' || isset($HTTP_GET_VARS['manufacturers_id'])) {

// create column list

   $define_list = array('PRODUCT_LIST_MODEL' => PRODUCT_LIST_MODEL,

                        'PRODUCT_LIST_NAME' => PRODUCT_LIST_NAME,

                        'PRODUCT_LIST_MANUFACTURER' => PRODUCT_LIST_MANUFACTURER,

                        'PRODUCT_LIST_PRICE' => PRODUCT_LIST_PRICE,

                        'PRODUCT_LIST_QUANTITY' => PRODUCT_LIST_QUANTITY,

                        'PRODUCT_LIST_WEIGHT' => PRODUCT_LIST_WEIGHT,

                        'PRODUCT_LIST_IMAGE' => PRODUCT_LIST_IMAGE,

                        'PRODUCT_LIST_BUY_NOW' => PRODUCT_LIST_BUY_NOW);



   asort($define_list);



   $column_list = array();

   reset($define_list);

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

     if ($value > 0) $column_list[] = $key;

   }



   $select_column_list = '';



   for ($i=0, $n=sizeof($column_list); $i<$n; $i++) {

     switch ($column_list[$i]) {

       case 'PRODUCT_LIST_MODEL':

         $select_column_list .= 'p.products_model, ';

         break;

       case 'PRODUCT_LIST_NAME':

         $select_column_list .= 'pd.products_name, ';

         break;

       case 'PRODUCT_LIST_MANUFACTURER':

         $select_column_list .= 'm.manufacturers_name, ';

         break;

       case 'PRODUCT_LIST_QUANTITY':

         $select_column_list .= 'p.products_quantity, ';

         break;

       case 'PRODUCT_LIST_IMAGE':

         $select_column_list .= 'p.products_image, ';

         break;

       case 'PRODUCT_LIST_WEIGHT':

         $select_column_list .= 'p.products_weight, ';

         break;

     }

   }



// show the products of a specified manufacturer

   if (isset($HTTP_GET_VARS['manufacturers_id'])) {

     if (isset($HTTP_GET_VARS['filter_id']) && tep_not_null($HTTP_GET_VARS['filter_id'])) {

// We are asked to show only a specific category

       $listing_sql = "select " . $select_column_list . " p.products_id, p.manufacturers_id, p.products_price, p.products_tax_class_id, IF(s.status, s.specials_new_products_price, NULL) as specials_new_products_price, IF(s.status, s.specials_new_products_price, p.products_price) as final_price from " . TABLE_PRODUCTS . " p, " . TABLE_PRODUCTS_DESCRIPTION . " pd, " . TABLE_MANUFACTURERS . " m, " . TABLE_PRODUCTS_TO_CATEGORIES . " p2c left join " . TABLE_SPECIALS . " s on p.products_id = s.products_id where p.products_status = '1' and p.manufacturers_id = m.manufacturers_id and m.manufacturers_id = '" . (int)$HTTP_GET_VARS['manufacturers_id'] . "' and p.products_id = p2c.products_id and pd.products_id = p2c.products_id and pd.language_id = '" . (int)$languages_id . "' and p2c.categories_id = '" . (int)$HTTP_GET_VARS['filter_id'] . "'";

     } else {

// We show them all

       $listing_sql = "select " . $select_column_list . " p.products_id, p.manufacturers_id, p.products_price, p.products_tax_class_id, IF(s.status, s.specials_new_products_price, NULL) as specials_new_products_price, IF(s.status, s.specials_new_products_price, p.products_price) as final_price from " . TABLE_PRODUCTS . " p, " . TABLE_PRODUCTS_DESCRIPTION . " pd, " . TABLE_MANUFACTURERS . " m left join " . TABLE_SPECIALS . " s on p.products_id = s.products_id where p.products_status = '1' and pd.products_id = p.products_id and pd.language_id = '" . (int)$languages_id . "' and p.manufacturers_id = m.manufacturers_id and m.manufacturers_id = '" . (int)$HTTP_GET_VARS['manufacturers_id'] . "'";

     }

   } else {

// show the products in a given categorie

     if (isset($HTTP_GET_VARS['filter_id']) && tep_not_null($HTTP_GET_VARS['filter_id'])) {

// We are asked to show only specific catgeory

       $listing_sql = "select " . $select_column_list . " p.products_id, p.manufacturers_id, p.products_price, p.products_tax_class_id, IF(s.status, s.specials_new_products_price, NULL) as specials_new_products_price, IF(s.status, s.specials_new_products_price, p.products_price) as final_price from " . TABLE_PRODUCTS . " p, " . TABLE_PRODUCTS_DESCRIPTION . " pd, " . TABLE_MANUFACTURERS . " m, " . TABLE_PRODUCTS_TO_CATEGORIES . " p2c left join " . TABLE_SPECIALS . " s on p.products_id = s.products_id where p.products_status = '1' and p.manufacturers_id = m.manufacturers_id and m.manufacturers_id = '" . (int)$HTTP_GET_VARS['filter_id'] . "' and p.products_id = p2c.products_id and pd.products_id = p2c.products_id and pd.language_id = '" . (int)$languages_id . "' and p2c.categories_id = '" . (int)$current_category_id . "'";

     } else {

// We show them all

       $listing_sql = "select " . $select_column_list . " p.products_id, p.manufacturers_id, p.products_price, p.products_tax_class_id, IF(s.status, s.specials_new_products_price, NULL) as specials_new_products_price, IF(s.status, s.specials_new_products_price, p.products_price) as final_price from " . TABLE_PRODUCTS_DESCRIPTION . " pd, " . TABLE_PRODUCTS . " p left join " . TABLE_MANUFACTURERS . " m on p.manufacturers_id = m.manufacturers_id, " . TABLE_PRODUCTS_TO_CATEGORIES . " p2c left join " . TABLE_SPECIALS . " s on p.products_id = s.products_id where p.products_status = '1' and p.products_id = p2c.products_id and pd.products_id = p2c.products_id and pd.language_id = '" . (int)$languages_id . "' and p2c.categories_id = '" . (int)$current_category_id . "'";

     }

   }



   if ( (!isset($HTTP_GET_VARS['sort'])) || (!ereg('[1-8][ad]', $HTTP_GET_VARS['sort'])) || (substr($HTTP_GET_VARS['sort'], 0, 1) > sizeof($column_list)) ) {

     for ($i=0, $n=sizeof($column_list); $i<$n; $i++) {

       if ($column_list[$i] == 'PRODUCT_LIST_NAME') {

         $HTTP_GET_VARS['sort'] = $i+1 . 'a';

         $listing_sql .= " order by pd.products_name";

         break;

       }

     }

   } else {

     $sort_col = substr($HTTP_GET_VARS['sort'], 0 , 1);

     $sort_order = substr($HTTP_GET_VARS['sort'], 1);

     $listing_sql .= ' order by ';

     switch ($column_list[$sort_col-1]) {

       case 'PRODUCT_LIST_MODEL':

         $listing_sql .= "p.products_model " . ($sort_order == 'd' ? 'desc' : '') . ", pd.products_name";

         break;

       case 'PRODUCT_LIST_NAME':

         $listing_sql .= "pd.products_name " . ($sort_order == 'd' ? 'desc' : '');

         break;

       case 'PRODUCT_LIST_MANUFACTURER':

         $listing_sql .= "m.manufacturers_name " . ($sort_order == 'd' ? 'desc' : '') . ", pd.products_name";

         break;

       case 'PRODUCT_LIST_QUANTITY':

         $listing_sql .= "p.products_quantity " . ($sort_order == 'd' ? 'desc' : '') . ", pd.products_name";

         break;

       case 'PRODUCT_LIST_IMAGE':

         $listing_sql .= "pd.products_name";

         break;

       case 'PRODUCT_LIST_WEIGHT':

         $listing_sql .= "p.products_weight " . ($sort_order == 'd' ? 'desc' : '') . ", pd.products_name";

         break;

       case 'PRODUCT_LIST_PRICE':

         $listing_sql .= "final_price " . ($sort_order == 'd' ? 'desc' : '') . ", pd.products_name";

         break;

     }

   }

?>

   <td width="100%" valign="top"><table border="0" width="100%" cellspacing="0" cellpadding="0">

     <tr>

       <td><table border="0" width="100%" cellspacing="0" cellpadding="0">

         <tr>

<?php

   $category_query = tep_db_query("select cd.categories_name, cd.categories_heading_title, cd.categories_description, c.categories_image from " . TABLE_CATEGORIES . " c, " . TABLE_CATEGORIES_DESCRIPTION . " cd where c.categories_id = '" . $current_category_id . "' and cd.categories_id = '" . $current_category_id . "' and cd.language_id = '" . $languages_id . "'");

   $category = tep_db_fetch_array($category_query);

?>

    <!-- Add last breadcrumb trail equal to product heading -->

           <td class="pageHeading"><img src="https://shop.solardirect.com/images/icons/arrowdown.jpg" align="left"><?php

             if ( (ALLOW_CATEGORY_DESCRIPTIONS == 'true') && (tep_not_null($category['categories_heading_title'])) ) {

               echo $category['categories_heading_title'];

               } else {

               echo $breadcrumb->last();

 }

 ?></td>

<?php

// optional Product List Filter

   if (PRODUCT_LIST_FILTER > 0) {

     if (isset($HTTP_GET_VARS['manufacturers_id'])) {

       $filterlist_sql = "select distinct c.categories_id as id, cd.categories_name as name from " . TABLE_PRODUCTS . " p, " . TABLE_PRODUCTS_TO_CATEGORIES . " p2c, " . TABLE_CATEGORIES . " c, " . TABLE_CATEGORIES_DESCRIPTION . " cd where p.products_status = '1' and p.products_id = p2c.products_id and p2c.categories_id = c.categories_id and p2c.categories_id = cd.categories_id and cd.language_id = '" . (int)$languages_id . "' and p.manufacturers_id = '" . (int)$HTTP_GET_VARS['manufacturers_id'] . "' order by cd.categories_name";

     } else {

       $filterlist_sql= "select distinct m.manufacturers_id as id, m.manufacturers_name as name from " . TABLE_PRODUCTS . " p, " . TABLE_PRODUCTS_TO_CATEGORIES . " p2c, " . TABLE_MANUFACTURERS . " m where p.products_status = '1' and p.manufacturers_id = m.manufacturers_id and p.products_id = p2c.products_id and p2c.categories_id = '" . (int)$current_category_id . "' order by m.manufacturers_name";

     }

     $filterlist_query = tep_db_query($filterlist_sql);

     if (tep_db_num_rows($filterlist_query) > 1) {

       echo '            <td align="center" class="main">' . tep_draw_form('filter', FILENAME_DEFAULT, 'get') . TEXT_SHOW . ' ';

       if (isset($HTTP_GET_VARS['manufacturers_id'])) {

         echo tep_draw_hidden_field('manufacturers_id', $HTTP_GET_VARS['manufacturers_id']);

         $options = array(array('id' => '', 'text' => TEXT_ALL_CATEGORIES));

       } else {

         echo tep_draw_hidden_field('cPath', $cPath);

         $options = array(array('id' => '', 'text' => TEXT_ALL_MANUFACTURERS));

       }

       echo tep_draw_hidden_field('sort', $HTTP_GET_VARS['sort']);

       while ($filterlist = tep_db_fetch_array($filterlist_query)) {

         $options[] = array('id' => $filterlist['id'], 'text' => $filterlist['name']);

       }

       echo tep_draw_pull_down_menu('filter_id', $options, (isset($HTTP_GET_VARS['filter_id']) ? $HTTP_GET_VARS['filter_id'] : ''), 'onchange="this.form.submit()"');

       echo '</form></td>' . "n";

     }

   }

?>

         </tr>

       </table></td>

     </tr>

     <tr>

       <td><?php echo tep_draw_separator('pixel_trans.gif', '100%', '1'); ?></td>

     </tr>

   <!-- BOF: Show subcategories in Product Listing -->

   <tr>

     <td><table border="0" width="100%" cellspacing="0" cellpadding="2"><tr><?php

       if (isset($cPath)) {

         if (ereg('_', $cPath)) {

           $category_links = array_reverse($cPath_array);

           $cat_to_search = $category_links[0];

             }

             else {

             $cat_to_search = $cPath;

               }

               // check to see if there are deeper categories within the current category

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

                 if (tep_db_num_rows($categories_query) > 0 ) {

                   $rows = 0;

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

                       $rows++;

                       $cPath_new = tep_get_path($categories['categories_id']);

                       $width = (int)(100 / MAX_DISPLAY_CATEGORIES_PER_ROW) . '%';

                       echo '<td align="left" class="smallText" style="width: ' . $width . '" valign="top"><a href="' . tep_href_link(FILENAME_DEFAULT, $cPath_new) . '">' . tep_image(DIR_WS_IMAGES . $categories['categories_image'], $categories['categories_name'], SUBCATEGORY_IMAGE_WIDTH, SUBCATEGORY_IMAGE_HEIGHT) . '</a>' . $categories['categories_description'] .'</td>' . "n";

                           if ((($rows / MAX_DISPLAY_CATEGORIES_PER_ROW) == floor($rows / MAX_DISPLAY_CATEGORIES_PER_ROW)) && ($rows != tep_db_num_rows($categories_query))) {

                           echo '              </tr>' . "n";

                           echo '              <tr>' . "n";

                           }

                         }

                         echo '<tr><td>'. tep_draw_separator('pixel_trans.gif', '100%', '10') . '</td></tr>';

                         echo '<tr><td colspan="2" valign=left" class="main"><b><font color="#9933CC">   <img src="https://shop.solardirect.com/images/icons/arrowdown2.jpg" align="absbottom">Summer Discount Specials</font></b></td></tr>';

	 }

       }

       ?>

     </tr></table></td>

   </tr>

   <tr>

     <td><?php echo tep_draw_separator('pixel_trans.gif', '100%', '3'); ?></td>

   </tr>

   <tr>

     <td><?php include(DIR_WS_MODULES . FILENAME_PRODUCT_LISTING); ?></td>

   </tr>

   <!-- EOF: Show subcategories in Product Listing -->

 </table></td>

<?php

 } else { // default page

?>

   <td width="100%" valign="top"><table border="0" width="100%" cellspacing="0" cellpadding="0">

     <tr>

       <td class="pageHeading"><img src="https://shop.solardirect.com/images/icons/arrowleft.jpg" align="left"><?php echo HEADING_TITLE; ?></td>

     </tr>

     <tr>

       <td><?php echo tep_draw_separator('pixel_trans.gif', '100%', '10'); ?></td>

     </tr>

     <tr>

       <td class="main"><?php echo tep_customer_greeting(); ?></td>

     </tr>

     <tr>

       <td><?php echo tep_draw_separator('pixel_trans.gif', '100%', '10'); ?></td>

     </tr>

     <tr>

       <td class="main"><br><?php echo TEXT_MAIN; ?></td>

     </tr>

     <tr>

       <td><?php echo tep_draw_separator('pixel_trans.gif', '100%', '10'); ?></td>

     </tr>

   </table></td>

 <?php

 }

 ?>

<!-- body_text_eof //-->

   <td width="<?php echo BOX_WIDTH; ?>" valign="top"><table border="0" width="<?php echo BOX_WIDTH; ?>" cellspacing="0" cellpadding="2">

<!-- right_navigation //-->

<?php require(DIR_WS_INCLUDES . 'column_right.php'); ?>

<!-- right_navigation_eof //-->

   </table></td>

 </tr>

</table>

<!-- body_eof //-->



<!-- footer //-->

<?php require(DIR_WS_INCLUDES . 'footer.php'); ?>

<!-- footer_eof //-->

</body>

</html>

<?php require(DIR_WS_INCLUDES . 'application_bottom.php'); ?>

Boom... Big butta boom.

Link to comment
Share on other sites

Matt, Thanks for the link. I do in fact only have PHP 4.2.2, so upgrading to 4.3 may help. Or maybe some of the other work arounds.

 

In the mean time I checked my index.php file for errors and found none. EXCEPT that when I put an extra </table> just before the footer it works fine and the footer is in the right position. So I put a </table> in the beginning of the footer.php file to solve on all pages as a workaround.

 

It seems there is a stray <table> somewhere that is not getting closed perhaps, but it would have to be in a common file since it happens on a wide variety of pages (maybe top, or header).

 

Still having problems with the right boxes... wider than normal, darker outlines sometimes, no space between the boxes... weird stuff.

Boom... Big butta boom.

Link to comment
Share on other sites

That's what the bug does. It eats some of the html code that should be output or adds extraneous html elements.

 

Setting admin :arrow: Configuration :arrow: Sessions :arrow: Force Cookie Use to true should fix it. If it does, then you can stop wasting your time debugging html code that would be correct if it weren't for the bug and figure out if that is the solution you want. If not, you can switch to one of the other two.

 

Good luck,

Matt

Link to comment
Share on other sites

Force Cookie Use requires the customer to accept a cookie that stores the session_id (otherwise transferred in the URL as osCSid=). Advantages: people can't pretend to be others by using their session ID; search engines won't include the session ID in their links, which can cause multiple people to share the same session (with saved info!); less risk of someone accidentally doing something that removes the session ID from the URL and losing their shopping cart, etc. Disadvantages: requires people to have their browsers configured to accept session cookies.

 

I'm not as sure of the exact intent of the other settings, so I won't post a lot of speculation on those. The idea is to make it harder for sessions to be hijacked (most people use the same browser and IP to browse the entire site, so something that is not acting like that may be malicious). Unfortunately, others (e.g. modom) have done testing that indicates that these settings can break interaction with AOL. The most likely explanation of which I know is that AOL uses proxies to buffer its customers interaction with the internet, which causes it to appear as different user agents, IPs, etc.

 

Hth,

Matt

Link to comment
Share on other sites

Thanks again Matt,

 

I was under the impression that MS2 fixed the problem(s) with SID's to prevent search engine spiders from seeing them, thus eliminating issues with links that do not exist, or people using the same sid caused by that link. I also thought that with MS2 you do not need the contrib's for SID killers because of the same reason that MS2 handles that now. If anyone knows different, please let me know.

 

As for MS2 preventing spiders from using SID's, I am curious how that works, as when I land on a page I get the real url, then as soon as I click to the next page I get a SID. Is the spiders.txt file preventing this for spiders??? Obviously important not to have them using SID's!!!

 

Sounds like having Force Cookies set to false is the way to go. I certainly do not want to eliminate the large number of AOL users, and I presume the risk of someone hijacking someone's SID is low on a site of our size (250k visitors per year). Plus I don't know how many people's settings allow cookies, but why alieninate them? Other than the obviously distastful looking URL, I think it seems better to use them, unless someone can give a strong argument opposing them.

Boom... Big butta boom.

Link to comment
Share on other sites

AOL doesn't have a problem with the cookies setting (unless the person sets their browser to refuse cookies). It's the other settings that cause AOL specific problems.

 

Hth,

Matt

Link to comment
Share on other sites

Archived

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

×
×
  • Create New...