close ad
 
Important WebAssist Announcement
open ad
View Menu

Technical Support Forums

Free, outstanding support from WebAssist and your colleagues

rating

Cart not emptying after the checkout process completed

Thread began 6/09/2010 12:37 pm by pmait97856 | Last modified 6/10/2010 1:23 pm by Miguel | 1716 views | 6 replies |

pmait97856

Cart not emptying after the checkout process completed

I am in testing mode for ecart 5.
I successfully created some basic pages, and the process works.
The database is populated and an email sent.
The problem is that the cart is not emptying so that a customer can start a new order.

I assume either the confirm or the confirm-success pages should be clearing the cart.

Is there any code that I should be looking for?

Any help would be appreciated.

Paul

Sign in to reply to this post

Miguel

Well depends on wich checkout process you have used, on some sites i had to make a custom checkout for bank deposits so i made a page that after the user registers the deposit i send him to a thank you page with a message about the days it takes to confirm the order but on this page i have a hidden code to empty the order session and the cart, this is what i do on the top of the page in code view i add manually

php:
<?php
//WA eCart Include
require_once("WA_eCart/CartName_PHP.php");
?>
<?php 
require_once("Connections/myconection.php"); ?>
<?php
$cartName
->GetContent();
?>

and at the end just before the </body>

i add

php:
<?php 
    $cartName
->ClearCart();
    unset(
$_SESSION['OrderSessionName']);
    
?>



Let us know if it was helpfull :p

Sign in to reply to this post

pmait97856

Clears Cart (sort of)

Thanks for the tip but I must be doing something wrong.

I am using the checkout process that was created with the eCart 5 wizard. There is no payment gateway, this is just a TakeOut order process for a customer to collect and pay at the shop.

So I am putting the code you suggest in the checkout_success.php page which is basically the 'Thank you for your order' message.

From your post I assume I had to add a session which I did with a name ClearCartSession.
This is what I added before the doctype:

<?php
//WA eCart Include
require_once("../WA_eCart/CustomerCart_PHP.php");
?>
<?php require_once('../Connections/testDB.php'); ?>
<?php
$CustomerCart->GetContent();
?>
<?php
if (!session_id()) session_start();
if(!isset($_SESSION["ClearCartSession"])) {
$_SESSION["ClearCartSession"] = "";
}
?>

I am using a template so I put the unset part after the body but before the closing html tag:

<?php
$CustomerCart->ClearCart();
unset($_SESSION['ClearCartSession']);
?>
</html>

On testing the process, the order gets added to the database, the email is sent and the cart appears empty. So far so good.

HOWEVER,

If I create another order, everything processes as expected but the previous order is replaced in the database with the new order instead of being added as a new order.

Any idea what I am doing wrong?

Paul

Sign in to reply to this post

Jason ByrnesWebAssist

add the following code to the checkout success page after the </html> tag:

php:
<?php

// Initialize the session.
// If you are using session_name("something"), don't forget it now!
session_start();

// Unset all of the session variables.
$_SESSION = array();

// If it's desired to kill the session, also delete the session cookie.
// Note: This will destroy the session, and not just the session data!
if (ini_get("session.use_cookies")) {
    
$params session_get_cookie_params();
    
setcookie(session_name(), ''time() - 42000,
        
$params["path"], $params["domain"],
        
$params["secure"], $params["httponly"]
    );
}

// Finally, destroy the session.
session_destroy();
?>
Sign in to reply to this post

Miguel

ok i think i know why, and also the jason one is a good choice but it can also kill if the user is logged on to the site, if you have memebrs registered to the site that solution will log them off also ok the link that i had


unset($_SESSION['ClearCartSession']);

i meant sorry for that unset($_SESSION['ORDERSession']); it to unset the session of the order remeber when creating the sumary order you have to add there a value for the order to be created it would be that one and it should work now if you replace it sorry my poor english so it would be check your page where you have the order summary it would be auto created by the wizard

it would have
Trigger:
Database
Conection
table
Order Id
Store As: this is the one if it says order or sessionorder or what ever name you would add that name to the unset session, example if it says Order the unset should be like this unset($_SESSION['Order]); suppose it says Sumary then it should be unset($_SESSION['Sumary']);

Sign in to reply to this post

pmait97856

Thanks so much.
I found that the session name was 'CustomerCart_OrderID'

So I changed the session and unset session to that name on the success page and everything works as expected.

<?php
if (!session_id()) session_start();
if(!isset($_SESSION["CustomerCart_OrderID"])) {
$_SESSION["CustomerCart_OrderID"] = "";
}
?>

<?php
$CustomerCart->ClearCart();
unset($_SESSION['CustomerCart_OrderID']);
?>

I appreciate the time you spent helping.

Cheers, Paul

Sign in to reply to this post

Miguel

Glad to help and that it wqorked for you :D

Sign in to reply to this post

Build websites with a little help from your friends

Your friends over here at WebAssist! These Dreamweaver extensions will assist you in building unlimited, custom websites.

Build websites from already-built web applications

These out-of-the-box solutions provide you proven, tested applications that can be up and running now.  Build a store, a gallery, or a web-based email solution.

Want your website pre-built and hosted?

Close Windowclose

Rate your experience or provide feedback on this page

Account or customer service questions?
Please user our contact form.

Need technical support?
Please visit support to ask a question

Content

rating

Layout

rating

Ease of use

rating

security code refresh image

We do not respond to comments submitted from this page directly, but we do read and analyze any feedback and will use it to help make your experience better in the future.

Close Windowclose

We were unable to retrieve the attached file

Close Windowclose

Attach and remove files

add attachmentAdd attachment
Close Windowclose

Enter the URL you would like to link to in your post

Close Windowclose

This is how you use right click RTF editing

Enable right click RTF editing option allows you to add html markup into your tutorial such as images, bulleted lists, files and more...

-- click to close --

Uploading file...