Jump to content
  • Checkout
  • Login
  • Get in touch

osCommerce

The e-commerce.

cart not bringing in products


Guest

Recommended Posts

to anyone that can help

 

i have a problem with the checkout side of the site. i can add items to my cart no problem, but when I then go to the checkout, there are 'no items in cart'.

 

the site is www.mactackle.com

 

please offer any help you can. FYI this site has been up and running for a year or more, so something has changed in the past couple of days. any suggetions please...

 

mac

Link to comment
Share on other sites

sorry for bumping this, but i realise there are similar solutions around but I the fixes dont seem to be working. i'm in a bit of an emergency situation now so please if you've any solutions.

 

the problem again - i can add items to the cart, but when I go to checkout, my cart is empty.

 

customers calling me complaining...

 

thanks in advance folks!

Link to comment
Share on other sites

most likely is your configure.php files in catalog\includes folder. Check the secure settings for the domain as they look incorrect I get an extra slash in the path on secure pages.

Link to comment
Share on other sites

just hit the secure checkout and watch the address bar of your browser. The configure.php file is not set properly.

Link to comment
Share on other sites

I spotted that but when I look at configure.php I don't seem to have an extra slash. I've tried removing slashes from the end of...

 

define('HTTPS_COOKIE_DOMAIN', 'https://mysecureserver.com/');

 

and

 

define('HTTPS_SERVER', 'https://mysecureserver.com/');

 

but then the extra slash appears on some pages, not others.

 

i think the best thing is to just post the configure and see if you can spot the problem... so..

 

// Define the webserver and path parameters

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

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

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

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

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

define('HTTP_COOKIE_DOMAIN', 'mydomain.com');

define('HTTPS_COOKIE_DOMAIN', 'https://mysecureserver.com/');

define('HTTP_COOKIE_PATH', '/catalog/');

define('HTTPS_COOKIE_PATH', '/catalog/');

define('DIR_WS_HTTP_CATALOG', '/catalog/');

define('DIR_WS_HTTPS_CATALOG', '/catalog/');

define('DIR_WS_IMAGES', 'images/');

define('DIR_WS_ICONS', DIR_WS_IMAGES . 'icons/');

define('DIR_WS_INCLUDES', 'includes/');

define('DIR_WS_BOXES', DIR_WS_INCLUDES . 'boxes/');

define('DIR_WS_FUNCTIONS', DIR_WS_INCLUDES . 'functions/');

define('DIR_WS_CLASSES', DIR_WS_INCLUDES . 'classes/');

define('DIR_WS_MODULES', DIR_WS_INCLUDES . 'modules/');

define('DIR_WS_LANGUAGES', DIR_WS_INCLUDES . 'languages/');

Link to comment
Share on other sites

here it is for the extra slash

 

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

 

should be

 

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

 

 

And you have other problems. Should be

 

define('HTTPS_COOKIE_DOMAIN', 'mysecureserver.com');

 

Domains should be defined as domains and then the paths will be relative to the domain

Link to comment
Share on other sites

The HTTPS_COOKIE_DOMAIN was probably what was killing you. It should not have the https in front.

 

I've done that. Still appearing with extra slash at the address bar. Looking at the status bar before its clicked, it does'nt have the slash, but when you get to the page itself, the address bar has them. here's my code since the change. Its probably straight in front of me, but i can't see it...

 

As you'll see, I do have this /~blablabla at the end of the domain, is that an issue - I don't think so??, thats always been there...

 

// Define the webserver and path parameters

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

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

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

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

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

define('HTTP_COOKIE_DOMAIN', 'mydomain.com');

define('HTTPS_COOKIE_DOMAIN', 'mysecureserver.com/~blablabla');

define('HTTP_COOKIE_PATH', '/catalog/');

define('HTTPS_COOKIE_PATH', '/catalog/');

define('DIR_WS_HTTP_CATALOG', '/catalog/');

define('DIR_WS_HTTPS_CATALOG', '/catalog/');

define('DIR_WS_IMAGES', 'images/');

define('DIR_WS_ICONS', DIR_WS_IMAGES . 'icons/');

define('DIR_WS_INCLUDES', 'includes/');

define('DIR_WS_BOXES', DIR_WS_INCLUDES . 'boxes/');

define('DIR_WS_FUNCTIONS', DIR_WS_INCLUDES . 'functions/');

define('DIR_WS_CLASSES', DIR_WS_INCLUDES . 'classes/');

define('DIR_WS_MODULES', DIR_WS_INCLUDES . 'modules/');

define('DIR_WS_LANGUAGES', DIR_WS_INCLUDES . 'languages/');

Link to comment
Share on other sites

Yes, you do use paths when you are using a shared ssl cert. There is no other way to do it and have your secure site work.

GEOTEX from Houston, TX

 

(George)

Link to comment
Share on other sites

Yes, you do use paths when you are using a shared ssl cert. There is no other way to do it and have your secure site work.

no you do not because you will have plenty of problems and even render your checkout process useless. I am on shared ssl I do not use paths for the secure server or domains definitions. Folders go under the paths definitions. Not to mention cookies on the secure pages aint gona work with such settings.

 

You do

define('HTTPS_SERVER', 'https://mysecureserver.com');

define('DIR_WS_HTTPS_CATALOG', '/~mactackl/catalog/');

 

And the same for the cookie domains

 

define('HTTPS_COOKIE_DOMAIN', 'mysecureserver.com');

define('HTTPS_COOKIE_PATH', '/~blablabla/catalog/');

Link to comment
Share on other sites

so what exactly are you all telling me to amend then...

 

set define('HTTPS_SERVER', 'https://secure32.elinuxservers.com/~mactack');

 

and define('HTTPS_COOKIE_DOMAIN', 'secure32.elinuxservers.com/~mactack');

 

This is taken directly from the primary servers I set up osCommerce sites, which appears to be a similar situation to yours. Yahoo, Windows servers, and many others are different. But, looking at the domain you provided, this should work and clear up your problems.

 

And, of course, don't forget to make any similar required changes in your admin/includes/configure.php

 

here's the top part of one of my main sites,

 

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

define('HTTPS_SERVER', 'https://secure.ameriwebs.com/~adminxx'); // eg, https://localhost - should not be empty for productive servers

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

define('HTTP_COOKIE_DOMAIN', 'www.shirleyscathouse.com');

define('HTTPS_COOKIE_DOMAIN', 'secure.ameriwebs.com/~adminxx');

 

HTH

 

George

GEOTEX from Houston, TX

 

(George)

Link to comment
Share on other sites

Yes, you do use paths when you are using a shared ssl cert. There is no other way to do it and have your secure site work.

 

I'm sorry, but this is patently incorrect. While the mainstream browsers may tolerate paths in the domain parameter of a Set-Cookie header, it is still incorrect. You can get away with it in some cases, but that doesn't mean you should do it. The cookie specification says that Set-Cookie has the following parameters:

 

Set-Cookie:

name=value

[;EXPIRES=dateValue]

[;DOMAIN=domainName]

[;PATH=pathName]

[;SECURE]

 

name is required. All the others are optional. Browsers may choose to allow cookies for domains that pass invalid parameters (domains that aren't really domains - ie domains that contain invalid domain characters like a slash) but you should most certainly not rely on this behavior.

 

And to say there's no other way is just flat out wrong. The other way to do it is the technically correct and universally accepted way:

 

Domain only in the domain parameter.

Paths in the path parameter.

Contributions

 

Discount Coupon Codes

Donations

Link to comment
Share on other sites

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

define('HTTPS_SERVER', 'https://secure.ameriwebs.com/~adminxx'); // eg, https://localhost - should not be empty for productive servers

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

define('HTTP_COOKIE_DOMAIN', 'www.shirleyscathouse.com');

define('HTTPS_COOKIE_DOMAIN', 'secure.ameriwebs.com/~adminxx');

 

HTH

 

George

 

classic example of why people asking why authorizenet is not working.

Link to comment
Share on other sites

no you do not because you will have plenty of problems and even render your checkout process useless. I am on shared ssl I do not use paths for the secure server or domains definitions. Folders go under the paths definitions. Not to mention cookies on the secure pages aint gona work with such settings.

 

You do

define('HTTPS_SERVER', 'https://mysecureserver.com');

define('DIR_WS_HTTPS_CATALOG', '/~mactackl/catalog/');

 

And the same for the cookie domains

 

define('HTTPS_COOKIE_DOMAIN', 'mysecureserver.com');

define('HTTPS_COOKIE_PATH', '/~blablabla/catalog/');

 

 

ok, i've done that. still not bring the cart products to the secure pages. this is the code i have now...

 

// Define the webserver and path parameters

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

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

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

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

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

define('HTTP_COOKIE_DOMAIN', 'mactackle.com');

define('HTTPS_COOKIE_DOMAIN', 'secure32.elinuxservers.com');

define('HTTP_COOKIE_PATH', '/secureshopping/');

define('HTTPS_COOKIE_PATH', '/~mactackl/secureshopping/');

define('DIR_WS_HTTP_CATALOG', '/secureshopping/');

define('DIR_WS_HTTPS_CATALOG', '/~mactackl/secureshopping/');

define('DIR_WS_IMAGES', 'images/');

define('DIR_WS_ICONS', DIR_WS_IMAGES . 'icons/');

define('DIR_WS_INCLUDES', 'includes/');

define('DIR_WS_BOXES', DIR_WS_INCLUDES . 'boxes/');

define('DIR_WS_FUNCTIONS', DIR_WS_INCLUDES . 'functions/');

define('DIR_WS_CLASSES', DIR_WS_INCLUDES . 'classes/');

define('DIR_WS_MODULES', DIR_WS_INCLUDES . 'modules/');

define('DIR_WS_LANGUAGES', DIR_WS_INCLUDES . 'languages/');

Link to comment
Share on other sites

I'm not looking to start an argument with you. Thanks for clarifying your statement.

 

Over several years of working with sometimes incompetent tech support on a variety of servers, while what you say is exactly technically correct, I have had fewer problems by defining the root path to location of the site files on the secure server. I have no problem with defining either way, never having had a complaint from any user of any less popular browser.

GEOTEX from Houston, TX

 

(George)

Link to comment
Share on other sites

ok, i've done that. still not bring the cart products to the secure pages. this is the code i have now...

 

// Define the webserver and path parameters

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

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

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

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

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

define('HTTP_COOKIE_DOMAIN', 'mactackle.com');

define('HTTPS_COOKIE_DOMAIN', 'secure32.elinuxservers.com');

define('HTTP_COOKIE_PATH', '/secureshopping/');

define('HTTPS_COOKIE_PATH', '/~mactackl/secureshopping/');

define('DIR_WS_HTTP_CATALOG', '/secureshopping/');

define('DIR_WS_HTTPS_CATALOG', '/~mactackl/secureshopping/');

define('DIR_WS_IMAGES', 'images/');

define('DIR_WS_ICONS', DIR_WS_IMAGES . 'icons/');

define('DIR_WS_INCLUDES', 'includes/');

define('DIR_WS_BOXES', DIR_WS_INCLUDES . 'boxes/');

define('DIR_WS_FUNCTIONS', DIR_WS_INCLUDES . 'functions/');

define('DIR_WS_CLASSES', DIR_WS_INCLUDES . 'classes/');

define('DIR_WS_MODULES', DIR_WS_INCLUDES . 'modules/');

define('DIR_WS_LANGUAGES', DIR_WS_INCLUDES . 'languages/');

I still see this extra slash and also I see the experimental friendly urls switched on. So go into your osc admin->configuration->Use Search-Engine Safe URLs set it to false.

Link to comment
Share on other sites

done that, still got that extra slash...

btw, thanks for all this help!

 

Are you using separate SSL/NONSSL folders for your store? Do you have httpdocs and httpsdocs folders on the server? Because you need to duplicate every file in that case including the configure.php ones

Link to comment
Share on other sites

Are you using separate SSL/NONSSL folders for your store? Do you have httpdocs and httpsdocs folders on the server? Because you need to duplicate every file in that case including the configure.php ones

 

no i don't think so, where would those directories be?

Link to comment
Share on other sites

when you login with your ftp tool do you have 2 directories? Some host use 2 directories one for secure the other for non-secure connection. And so changes in one folder should be duplicated on the other. The folders typically look like

httpdocs

httpsdocs

Link to comment
Share on other sites

Archived

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

×
×
  • Create New...