Jump to content

Null products in checkout


QuotesUK

Recommended Posts

This one is a little tricky to identify.

 

We receive an order with say five items of various quantities, plus flat rate shipping.

 

The flat rate shipping increases with order weight and is at a level that tallies with a the number of items ordered

 

However the product description is blank (described as Null) and the line item charges are zero

 

The customer has completed the order and has only paid for the shipping

 

We don't know whether this is a browser bug, server issue, or back button type scenarios but it has happened more than once and the customers are legitimate. The only common ground is the flat rate shipping was the same amount.

 

CubeCart is up to date, no mods or hacks.

 

Any ideas?

Link to comment
Share on other sites

There is a similar situation with a CubeCart user in Spain. "Some" products do not show in the emails, yet they show in the admin Order Overview.

 

I do not have a solid clue, as yet.

 

By "product description", where exactly are you referring to expecting to see this? And what exactly are you expecting to see?

 

If you mean the product's descriptive text, allow me to ask that you look at the product's Description tab, and put the editor into Source mode (top-left tool button). How many characters do the HTML tags take near the beginning?

Link to comment
Share on other sites

Okay, just want to correct myself on something first - the shipping weights were not the same

 

Payment gateways were different as well - one was PayPal the other was Barclaycard

 

There aren't any other problems with the product descriptions on other orders - quantity might be a relevant factor though.

 

If I go into the admin panel, click on orders, then the order reference number to see the order the items box is as follows...

 

9 x - (£0.00) £0.00
1 x - (£0.00) £0.00
31 x - (£0.00) £0.00
1 x - (£0.00) £0.00
Subtotal:£0.00
Total Discount :£0.00
Shipping:£100.00
Total:£120.00
 
If I click on the inventory tab the quantities are listed again and the product name is Null, the unit price and price are zero.
 
The other thing that baffles me is why someone would then go on to pay just the shipping fee, knowing that the items they want delivered would obviously make it cost more.
Link to comment
Share on other sites

From the table CubeCart_order_inventory ...

product_id ... 0
product_code ... blank
name ... blank
price ... 0.00

everything else looks normal
by the way, the description uses < p > tags but this is consistent across products

******

From the table CubeCart_order_summary

subtotal ... 0.00

everything else looks normal
also worth noting there are other customers with the same shipping weight, worked okay for them, so weight doesn't appear to be the issue

Link to comment
Share on other sites

Neither do I -- yet.

 

Would you be willing to assist in discovering why?

 

Alternatively, you may wish to submit a support ticket to Devellion (they will want access to your store code to test a few things).

 

(Knowing this to be a bug of some fashion, they will credit back your ticket.)

Link to comment
Share on other sites

Yes, I'd love to be able to get to the bottom of this issue

 

My hunch is that it is a checkout issue, rather than an add to basket issue, although from the limited feedback I've had (from clients of my clients) I believe the issue had already surfaced before they made their payment.

 

I think the reason why a customer might presume the goods are charged to them later is that some suppliers charge on despatch, and some charge on order.

 

What I know

- it's not payment gateway specific

- it's not for the same weight

- has happened twice, both times since upgrade to latest CubeCart

- the order maintains a structure for the items, including quantity, but excluding item price and descriptions

- customers have paid for the shipping

Link to comment
Share on other sites

The first thing that needs to be done is to enable PHP to log any errors. Please determine if your hosting site has a current PHP error log.

 

In CubeCart admin, click PHP Info. In the resulting table, scroll to the Core section. Locate the 'error_log' and 'log_errors' directives. If logging is enabled, there will be a path and the value "On" respectively.

 

When using FTP to access your site, attempt to navigate to the path specified. Download the log file and email it to me.

 

If logging is not enabled, let us know.

Link to comment
Share on other sites

Here are the log file highlights (IPs and domain name redacted)

 

There are plenty of entries like the first two lines

[Mon Mar 31 19:57:33 2014] [warn] [client 5.81.xxx.229] mod_fcgid: stderr: PHP Warning:  ksort() expects parameter 1 to be array, null given in /var/www/vhosts/example.com/httpdocs/classes/seo.class.php on line 456, referer: http://www.example.com/index.php?_a=gateway

[Mon Mar 31 19:57:33 2014] [warn] [client 5.81.xxx.229] mod_fcgid: stderr: PHP Warning:  implode() [<a href='http://docs.php.net/manual/en/function.implode.php'>function.implode.php</a>]: Invalid arguments passed in /var/www/vhosts/example.com/httpdocs/classes/seo.class.php on line 457, referer: http://www.example.com/index.php?_a=gateway

[Mon Mar 31 19:57:33 2014] [warn] [client 5.81.xxx.229] mod_fcgid: stderr: PHP Fatal error:  Call to a member function get() on a non-object in /var/www/vhosts/example.com/httpdocs/classes/seo.class.php on line 196, referer: http://www.example.com/index.php?_a=gateway



[Tue Apr 01 23:11:25 2014] [warn] [client 2.121.xxx.159] mod_fcgid: stderr: PHP Warning:  ksort() expects parameter 1 to be array, null given in /var/www/vhosts/example.com/httpdocs/classes/seo.class.php on line 456, referer: http://www.example.com/index.php?_a=gateway

[Tue Apr 01 23:11:25 2014] [warn] [client 2.121.xxx.159] mod_fcgid: stderr: PHP Warning:  implode() [<a href='http://docs.php.net/manual/en/function.implode.php'>function.implode.php</a>]: Invalid arguments passed in /var/www/vhosts/example.com/httpdocs/classes/seo.class.php on line 457, referer: http://www.example.com/index.php?_a=gateway

[Tue Apr 01 23:11:25 2014] [warn] [client 2.121.xxx.159] mod_fcgid: stderr: PHP Fatal error:  Call to a member function update() on a non-object in /var/www/vhosts/example.com/httpdocs/classes/cart.class.php on line 1014, referer: http://www.example.com/index.php?_a=gateway

[Tue Apr 01 23:12:49 2014] [warn] [client 2.121.xxx.159] mod_fcgid: stderr: PHP Fatal error:  Call to a member function update() on a non-object in /var/www/vhosts/example.com/httpdocs/classes/cart.class.php on line 1014

[Tue Apr 01 23:12:50 2014] [warn] [client 2.121.xxx.159] mod_fcgid: stderr: PHP Warning:  ksort() expects parameter 1 to be array, null given in /var/www/vhosts/example.com/httpdocs/classes/seo.class.php on line 456

[Tue Apr 01 23:12:50 2014] [warn] [client 2.121.xxx.159] mod_fcgid: stderr: PHP Warning:  implode() [<a href='http://docs.php.net/manual/en/function.implode.php'>function.implode.php</a>]: Invalid arguments passed in /var/www/vhosts/example.com/httpdocs/classes/seo.class.php on line 457

[Wed Apr 02 00:53:56 2014] [warn] [client 193.43.xxx.252] mod_fcgid: stderr: PHP Warning:  Stored session data did not match DB record. Session aborted as possible session hijack. Old IP Address: '193.43.xxx.252' New IP Address: '193.43.252.252' Old User Agent: 'Mozilla/4.0 (compatible; MSIE 5.01; Windows 95; MSIECrawler)' New User Agent: 'Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0; .NET CLR 1.0.3705; .NET CLR 1.1.4322)' in /var/www/vhosts/example.com/httpdocs/classes/session.class.php on line 643, referer: http://r12files.com

[Wed Apr 02 00:53:57 2014] [warn] [client 193.43.xxx.252] mod_fcgid: stderr: PHP Warning:  Stored session data did not match DB record. Session aborted as possible session hijack. Old IP Address: '193.43.xxx.252' New IP Address: '193.43.252.252' Old User Agent: 'Mozilla/4.0 (compatible; MSIE 5.5; Windows NT 5.0; .NET CLR 1.1.4322)' New User Agent: 'Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; Maxthon; .NET CLR 1.1.4322)' in /var/www/vhosts/example.com/httpdocs/classes/session.class.php on line 643, referer: http://r12files.com



[Thu Apr 03 01:36:25 2014] [warn] [client 90.203.xxx.94] mod_fcgid: stderr: PHP Warning:  ksort() expects parameter 1 to be array, null given in /var/www/vhosts/example.com/httpdocs/classes/seo.class.php on line 456, referer: http://www.example.com/index.php?_a=basket

[Thu Apr 03 01:36:25 2014] [warn] [client 90.203.xxx.94] mod_fcgid: stderr: PHP Warning:  implode() [<a href='http://docs.php.net/manual/en/function.implode.php'>function.implode.php</a>]: Invalid arguments passed in /var/www/vhosts/example.com/httpdocs/classes/seo.class.php on line 457, referer: http://www.example.com/index.php?_a=basket



[Thu Apr 03 12:39:23 2014] [warn] [client 109.150.xxx.128] mod_fcgid: stderr: PHP Warning:  ksort() expects parameter 1 to be array, null given in /var/www/vhosts/example.com/httpdocs/classes/seo.class.php on line 456, referer: http://www.example.com/index.php?_a=gateway

[Thu Apr 03 12:39:23 2014] [warn] [client 109.150.xxx.128] mod_fcgid: stderr: PHP Warning:  implode() [<a href='http://docs.php.net/manual/en/function.implode.php'>function.implode.php</a>]: Invalid arguments passed in /var/www/vhosts/example.com/httpdocs/classes/seo.class.php on line 457, referer: http://www.example.com/index.php?_a=gateway

[Thu Apr 03 12:39:23 2014] [warn] [client 109.150.xxx.128] mod_fcgid: stderr: PHP Fatal error:  Call to a member function update() on a non-object in /var/www/vhosts/example.com/httpdocs/classes/cart.class.php on line 1014, referer: http://www.example.com/index.php?_a=gateway



Link to comment
Share on other sites

Each pair of errors referring to seo.class.php, line 456 and 457 are very likely caused by your decision to not have the Homepage doc enabled in admin, Documents. CubeCart will use the name of the Homepage document as part of the Meta-Title given to the web document's <title> tag in the <head> section. Also, in admin, Store Settings, Search Engines tab, Global Meta Data Behaviour is probably set to Replace. You may wish to consider using Merge.

 

Errors referring to cart.class.php, line 1014, are caused by a statement containing a reference to a class that has already been destroyed (PHP is shutting down). On line 1014 and line 1016, edit just the following:

Was:
$GLOBALS['db']
Now:
Database::getInstance()

Errors related to seo.class.php, line 196, is interesting. The object held in $GLOBALS['config'] should still be instantiated. I do not know why the Config class has already been destroyed at this point. We will leave this one alone for now.

 

The "Stored Session Data" error is caused by the customer (or admin) changing browsers from one page request to the next.

 

Also interesting is that your PHP configuration is including data that PHP normally does not include in its error logging. This may be the CGI handler's error log. As such, I do not know if all of PHP's errors are getting logged into this file. But we will experiment.

Link to comment
Share on other sites

You mentioned two suspect orders were made Apr3 and Mar21. Please note the Cart Order Id numbers. They will give the exact day and time the order was made: YYMMDD-HHMMSS-RAND

 

Could we see the error log near those times?

Link to comment
Share on other sites

Not sure if the issue fixed in 5.2.9 is the same. The fix for my problem was added to 5.2.9, but in my situation Admin had no record of the order at all, but order_history did. I did get thousands of emails of the non-existent order.

 

But that said, it would probably be a good idea to upgrade, even if they haven't fixed the issue described here.

Link to comment
Share on other sites

Thank you bsmither and havenswift-hosting

 

Apologies to bsmither for taking so long to get back to you on this issue - I was distracted by an unplanned server upgrade that was imposed on me.

 

I have upgraded to v5.2.9 and will come back to this topic if the problem recurs - hopefully this issue is fixed.

 

Thank you to everyone for your help

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...