Page 1 of 2 12 LastLast
Results 1 to 10 of 13

Please Help! checkout_success page not loading it times out

This is a discussion on Please Help! checkout_success page not loading it times out within the osCommerce 2.2 Discussion forums, part of the osCommerce 2.2 Forums category; Hello, I wonder if someone could please help me with this issue, I have had been dealing with the problem ...

      
  1. #1
    Member
    Join Date
    May 2005
    Posts
    42
    Rep Power
    0


    Default Please Help! checkout_success page not loading it times out

    Hello,

    I wonder if someone could please help me with this issue, I have had been dealing with the problem for about a month now. The order goes through fine, but customers are often putting the orders through more then once as they do not move off of the checkout_confirmation. and it eventually timesout.

    The weird thing is that the checkout_success page works 20% of the time. So it is coded correctly.

    I would appreciate any help anyone could offer, I am desperate.

    Mark

  2. #2
    Member
    Join Date
    May 2005
    Posts
    42
    Rep Power
    0


    Default desperate, help!

    I am growing very desperate, can anyone help at all?

  3. #3
    osCMax Development Team
    Join Date
    Nov 2002
    Location
    Orlando
    Posts
    433
    Rep Power
    14


    Default RE: desperate, help!

    It's always best to post the website so the people that can possibly help can take a look at the problem as it happens. Is this a live site?
    John

  4. #4
    osCMax Developer

    michael_s's Avatar
    Join Date
    Jul 2002
    Location
    Phoenix, AZ
    Posts
    19,501
    Rep Power
    567


    Default RE: desperate, help!

    Timeouts are usually a server load or gateway connectivity problem. Check there first.
    Michael Sasek
    osCMax Developer


    osCmax installation service - Have our professionals install osCmax on your server - same day service!
    osCmax 2.0 User Manual - the must have beginners guide to osCmax v2.0

    Stay Up To Date with everything osCMax:
    Free osCMax Newsletters - Security notices, New Releases, osCMax News
    osCMax on Twitter - Up to the minute info as it happens. Know it first.

    osCmax Documentation

  5. #5
    Member
    Join Date
    May 2005
    Posts
    42
    Rep Power
    0


    Default

    http://oneclickappliances.com is the website, yes it is live.


    Michael, you say it usually is a server or gateway problem. You say to check there first. What exactly is it that I should do? I have been losing my mind trying to figure out what the problem could be.

    Thank you very much for any help.

  6. #6
    osCMax Developer

    michael_s's Avatar
    Join Date
    Jul 2002
    Location
    Phoenix, AZ
    Posts
    19,501
    Rep Power
    567


    Default

    Well,

    Check server loads, logs, errors, gateway response codes, configure.php path info, file permissions, etc. Basically you have not given any information that would narrow the scope, so my advice has to be pretty general.
    Michael Sasek
    osCMax Developer


    osCmax installation service - Have our professionals install osCmax on your server - same day service!
    osCmax 2.0 User Manual - the must have beginners guide to osCmax v2.0

    Stay Up To Date with everything osCMax:
    Free osCMax Newsletters - Security notices, New Releases, osCMax News
    osCMax on Twitter - Up to the minute info as it happens. Know it first.

    osCmax Documentation

  7. #7
    Member
    Join Date
    May 2005
    Posts
    42
    Rep Power
    0


    Default

    Okay, thank you.

    I will check all the things you mentioned for anything that doenst look right. Is there anything I should be looking for in particular?

  8. #8
    osCMax Developer

    michael_s's Avatar
    Join Date
    Jul 2002
    Location
    Phoenix, AZ
    Posts
    19,501
    Rep Power
    567


    Default

    High server loads, unexplained error messages in your logs, error response codes, file not found errors, php errors, ssl errors, etc. When you find something that looks suspicious to you, post it here.
    Michael Sasek
    osCMax Developer


    osCmax installation service - Have our professionals install osCmax on your server - same day service!
    osCmax 2.0 User Manual - the must have beginners guide to osCmax v2.0

    Stay Up To Date with everything osCMax:
    Free osCMax Newsletters - Security notices, New Releases, osCMax News
    osCMax on Twitter - Up to the minute info as it happens. Know it first.

    osCmax Documentation

  9. #9
    Member
    Join Date
    May 2005
    Posts
    42
    Rep Power
    0


    Default

    Okay, I am pretty sure that my server (hostexcellence.com) is deleting the process. I went to my admin panel and turned off sending emails. This seemed to do the trick. However that disables all emails. I still need to send an email when a customer creates an account , forgets a password, has their order staus changed. --- what exact code do i delete from checkout_process.php to get rid emails being sent for the order confirmation.



    here is my checkout_process. php coding

    <?php
    /*
    $Id: checkout_process.php,v 1.3 2003/09/30 16:22:42 serg Exp $

    osCommerce, Open Source E-Commerce Solutions
    http://www.oscommerce.com

    Copyright (c) 2003 osCommerce

    Released under the GNU General Public License
    */

    include('includes/application_top.php');

    // if the customer is not logged on, redirect them to the login page
    if (!tep_session_is_registered('customer_id')) {
    $navigation->set_snapshot(array('mode' => 'SSL', 'page' => FILENAME_CHECKOUT_PAYMENT));
    tep_redirect(tep_href_link(FILENAME_LOGIN, '', 'SSL'));
    }

    if (!tep_session_is_registered('sendto')) {
    tep_redirect(tep_href_link(FILENAME_CHECKOUT_PAYME NT, '', 'SSL'));
    }

    if ( (tep_not_null(MODULE_PAYMENT_INSTALLED)) && (!tep_session_is_registered('payment')) ) {
    tep_redirect(tep_href_link(FILENAME_CHECKOUT_PAYME NT, '', 'SSL'));
    }

    // avoid hack attempts during the checkout procedure by checking the internal cartID
    if (isset($cart->cartID) && tep_session_is_registered('cartID')) {
    if ($cart->cartID != $cartID) {
    tep_redirect(tep_href_link(FILENAME_CHECKOUT_SHIPP ING, '', 'SSL'));
    }
    }

    include(DIR_WS_LANGUAGES . $language . '/' . FILENAME_CHECKOUT_PROCESS);

    // load selected payment module
    require(DIR_WS_CLASSES . 'payment.php');
    $payment_modules = new payment($payment);

    // load the selected shipping module
    require(DIR_WS_CLASSES . 'shipping.php');
    $shipping_modules = new shipping($shipping);

    require(DIR_WS_CLASSES . 'order.php');
    $order = new order;


    // load the before_process function from the payment modules
    $payment_modules->before_process();

    require(DIR_WS_CLASSES . 'order_total.php');
    $order_total_modules = new order_total;

    $order_totals = $order_total_modules->process();


    $sql_data_array = array('customers_id' => $customer_id, 'customers_name' => $order->customer['firstname'] . ' ' . $order->customer['lastname'], 'customers_company' => $order->customer['company'], 'customers_street_address' => $order->customer['street_address'], 'customers_suburb' => $order->customer['suburb'], 'customers_city' => $order->customer['city'], 'customers_postcode' => $order->customer['postcode'], 'customers_state' => $order->customer['state'], 'customers_country' => $order->customer['country']['title'], 'customers_telephone' => $order->customer['telephone'], 'customers_email_address' => $order->customer['email_address'], 'customers_address_format_id' => $order->customer['format_id'], 'delivery_name' => $order->delivery['firstname'] . ' ' . $order->delivery['lastname'], 'delivery_company' => $order->delivery['company'], 'delivery_street_address' => $order->delivery['street_address'], 'delivery_suburb' => $order->delivery['suburb'], 'delivery_city' => $order->delivery['city'], 'delivery_postcode' => $order->delivery['postcode'], 'delivery_state' => $order->delivery['state'], 'delivery_country' => $order->delivery['country']['title'], 'delivery_address_format_id' => $order->delivery['format_id'], 'billing_name' => $order->billing['firstname'] . ' ' . $order->billing['lastname'], 'billing_company' => $order->billing['company'], 'billing_street_address' => $order->billing['street_address'], 'billing_suburb' => $order->billing['suburb'], 'billing_city' => $order->billing['city'], 'billing_postcode' => $order->billing['postcode'], 'billing_state' => $order->billing['state'], 'billing_country' => $order->billing['country']['title'], 'billing_address_format_id' => $order->billing['format_id'], 'payment_method' => $order->info['payment_method'], 'cc_type' => $order->info['cc_type'], 'cc_owner' => $order->info['cc_owner'], 'cc_number' => $order->info['cc_number'], 'cc_expires' => $order->info['cc_expires'], 'cc_cvv2' => $order->info['cc_cvv2'], 'date_purchased' => 'now()', 'orders_status' => $order->info['order_status'], 'currency' => $order->info['currency'], 'currency_value' => $order->info['currency_value']);

    tep_db_perform(TABLE_ORDERS, $sql_data_array);
    $insert_id = tep_db_insert_id();
    for ($i=0, $n=sizeof($order_totals); $i<$n; $i++) {
    $sql_data_array = array('orders_id' => $insert_id,
    'title' => $order_totals[$i]['title'],
    'text' => $order_totals[$i]['text'],
    'value' => $order_totals[$i]['value'],
    'class' => $order_totals[$i]['code'],
    'sort_order' => $order_totals[$i]['sort_order']);
    tep_db_perform(TABLE_ORDERS_TOTAL, $sql_data_array);
    }

    $customer_notification = (SEND_EMAILS == 'true') ? '1' : '0';
    $sql_data_array = array('orders_id' => $insert_id,
    'orders_status_id' => $order->info['order_status'],
    'date_added' => 'now()',
    'customer_notified' => $customer_notification,
    'comments' => $order->info['comments']);
    tep_db_perform(TABLE_ORDERS_STATUS_HISTORY, $sql_data_array);

    // initialized for the email confirmation
    $products_ordered = '';
    $subtotal = 0;
    $total_tax = 0;

    for ($i=0, $n=sizeof($order->products); $i<$n; $i++) {

    // Stock Update - Joao Correia
    if (STOCK_LIMITED == 'true') {
    if (DOWNLOAD_ENABLED == 'true') {
    $stock_query_raw = "SELECT products_quantity, pad.products_attributes_filename
    FROM " . TABLE_PRODUCTS . " p
    LEFT JOIN " . TABLE_PRODUCTS_ATTRIBUTES . " pa
    ON p.products_id=pa.products_id
    LEFT JOIN " . TABLE_PRODUCTS_ATTRIBUTES_DOWNLOAD . " pad
    ON pa.products_attributes_id=pad.products_attributes_ id
    WHERE p.products_id = '" . tep_get_prid($order->products[$i]['id']) . "'";
    // Will work with only one option for downloadable products
    // otherwise, we have to build the query dynamically with a loop
    $products_attributes = $order->products[$i]['attributes'];
    if (is_array($products_attributes)) {
    $stock_query_raw .= " AND pa.options_id = '" . $products_attributes[0]['option_id'] . "' AND pa.options_values_id = '" . $products_attributes[0]['value_id'] . "'";
    }
    $stock_query = tep_db_query($stock_query_raw);
    } else {
    $stock_query = tep_db_query("select products_quantity from " . TABLE_PRODUCTS . " where products_id = '" . tep_get_prid($order->products[$i]['id']) . "'");
    }
    if (tep_db_num_rows($stock_query) > 0) {
    $stock_values = tep_db_fetch_array($stock_query);
    // do not decrement quantities if products_attributes_filename exists
    if ((DOWNLOAD_ENABLED != 'true') || (!$stock_values['products_attributes_filename'])) {
    $stock_left = $stock_values['products_quantity'] - $order->products[$i]['qty'];
    } else {
    $stock_left = $stock_values['products_quantity'];
    }
    tep_db_query("update " . TABLE_PRODUCTS . " set products_quantity = '" . $stock_left . "' where products_id = '" . tep_get_prid($order->products[$i]['id']) . "'");
    if ( ($stock_left < 1) && (STOCK_ALLOW_CHECKOUT == 'false') ) {
    tep_db_query("update " . TABLE_PRODUCTS . " set products_status = '0' where products_id = '" . tep_get_prid($order->products[$i]['id']) . "'");
    }
    }
    }

    // Update products_ordered (for bestsellers list)
    tep_db_query("update " . TABLE_PRODUCTS . " set products_ordered = products_ordered + " . sprintf('%d', $order->products[$i]['qty']) . " where products_id = '" . tep_get_prid($order->products[$i]['id']) . "'");

    $sql_data_array = array('orders_id' => $insert_id,
    'products_id' => tep_get_prid($order->products[$i]['id']),
    'products_model' => $order->products[$i]['model'],
    'products_name' => $order->products[$i]['name'],
    'products_price' => $order->products[$i]['price'],
    'final_price' => $order->products[$i]['final_price'],
    'products_tax' => $order->products[$i]['tax'],
    'products_quantity' => $order->products[$i]['qty']);
    tep_db_perform(TABLE_ORDERS_PRODUCTS, $sql_data_array);
    $order_products_id = tep_db_insert_id();

    //------insert customer choosen option to order--------
    $attributes_exist = '0';
    $products_ordered_attributes = '';
    if (isset($order->products[$i]['attributes'])) {
    $attributes_exist = '1';
    for ($j=0, $n2=sizeof($order->products[$i]['attributes']); $j<$n2; $j++) {
    if (DOWNLOAD_ENABLED == 'true') {
    $attributes_query = "select popt.products_options_name, poval.products_options_values_name, pa.options_values_price, pa.price_prefix, pad.products_attributes_maxdays, pad.products_attributes_maxcount , pad.products_attributes_filename
    from " . TABLE_PRODUCTS_OPTIONS . " popt, " . TABLE_PRODUCTS_OPTIONS_VALUES . " poval, " . TABLE_PRODUCTS_ATTRIBUTES . " pa
    left join " . TABLE_PRODUCTS_ATTRIBUTES_DOWNLOAD . " pad
    on pa.products_attributes_id=pad.products_attributes_ id
    where pa.products_id = '" . $order->products[$i]['id'] . "'
    and pa.options_id = '" . $order->products[$i]['attributes'][$j]['option_id'] . "'
    and pa.options_id = popt.products_options_id
    and pa.options_values_id = '" . $order->products[$i]['attributes'][$j]['value_id'] . "'
    and pa.options_values_id = poval.products_options_values_id
    and popt.language_id = '" . $languages_id . "'
    and poval.language_id = '" . $languages_id . "'";
    $attributes = tep_db_query($attributes_query);
    } else {
    $attributes = tep_db_query("select popt.products_options_name, poval.products_options_values_name, pa.options_values_price, pa.price_prefix from " . TABLE_PRODUCTS_OPTIONS . " popt, " . TABLE_PRODUCTS_OPTIONS_VALUES . " poval, " . TABLE_PRODUCTS_ATTRIBUTES . " pa where pa.products_id = '" . $order->products[$i]['id'] . "' and pa.options_id = '" . $order->products[$i]['attributes'][$j]['option_id'] . "' and pa.options_id = popt.products_options_id and pa.options_values_id = '" . $order->products[$i]['attributes'][$j]['value_id'] . "' and pa.options_values_id = poval.products_options_values_id and popt.language_id = '" . $languages_id . "' and poval.language_id = '" . $languages_id . "'");
    }
    $attributes_values = tep_db_fetch_array($attributes);

    $sql_data_array = array('orders_id' => $insert_id,
    'orders_products_id' => $order_products_id,
    'products_options' => $attributes_values['products_options_name'],
    'products_options_values' => $attributes_values['products_options_values_name'],
    'options_values_price' => $attributes_values['options_values_price'],
    'price_prefix' => $attributes_values['price_prefix']);
    tep_db_perform(TABLE_ORDERS_PRODUCTS_ATTRIBUTES, $sql_data_array);

    if ((DOWNLOAD_ENABLED == 'true') && isset($attributes_values['products_attributes_filename']) && tep_not_null($attributes_values['products_attributes_filename'])) {
    $sql_data_array = array('orders_id' => $insert_id,
    'orders_products_id' => $order_products_id,
    'orders_products_filename' => $attributes_values['products_attributes_filename'],
    'download_maxdays' => $attributes_values['products_attributes_maxdays'],
    'download_count' => $attributes_values['products_attributes_maxcount']);
    tep_db_perform(TABLE_ORDERS_PRODUCTS_DOWNLOAD, $sql_data_array);
    }
    $products_ordered_attributes .= "\n\t" . $attributes_values['products_options_name'] . ' ' . $attributes_values['products_options_values_name'];
    }
    }
    //------insert customer choosen option eof ----
    $total_weight += ($order->products[$i]['qty'] * $order->products[$i]['weight']);
    $total_tax += tep_calculate_tax($total_products_price, $products_tax) * $order->products[$i]['qty'];
    $total_cost += $total_products_price;

    $products_ordered .= $order->products[$i]['qty'] . ' x ' . $order->products[$i]['name'] . ' (' . $order->products[$i]['model'] . ') = ' . $currencies->display_price($order->products[$i]['final_price'], $order->products[$i]['tax'], $order->products[$i]['qty']) . $products_ordered_attributes . "\n";
    }

    // lets start with the email confirmation
    $email_order = STORE_NAME . "\n" .
    EMAIL_SEPARATOR . "\n" .
    EMAIL_TEXT_ORDER_NUMBER . ' ' . $insert_id . "\n" .
    EMAIL_TEXT_INVOICE_URL . ' ' . tep_href_link(FILENAME_ACCOUNT_HISTORY_INFO, 'order_id=' . $insert_id, 'SSL', false) . "\n" .
    EMAIL_TEXT_DATE_ORDERED . ' ' . strftime(DATE_FORMAT_LONG) . "\n\n";
    if ($order->info['comments']) {
    $email_order .= tep_db_output($order->info['comments']) . "\n\n";
    }
    $email_order .= EMAIL_TEXT_PRODUCTS . "\n" .
    EMAIL_SEPARATOR . "\n" .
    $products_ordered .
    EMAIL_SEPARATOR . "\n";

    for ($i=0, $n=sizeof($order_totals); $i<$n; $i++) {
    $email_order .= strip_tags($order_totals[$i]['title']) . ' ' . strip_tags($order_totals[$i]['text']) . "\n";
    }

    if ($order->content_type != 'virtual') {
    $email_order .= "\n" . EMAIL_TEXT_DELIVERY_ADDRESS . "\n" .
    EMAIL_SEPARATOR . "\n" .
    tep_address_label($customer_id, $sendto, 0, '', "\n") . "\n";
    }

    $email_order .= "\n" . EMAIL_TEXT_BILLING_ADDRESS . "\n" .
    EMAIL_SEPARATOR . "\n" .
    tep_address_label($customer_id, $billto, 0, '', "\n") . "\n\n";
    if (is_object($$payment)) {
    $email_order .= EMAIL_TEXT_PAYMENT_METHOD . "\n" .
    EMAIL_SEPARATOR . "\n";
    $payment_class = $$payment;
    $email_order .= $payment_class->title . "\n\n";
    if ($payment_class->email_footer) {
    $email_order .= $payment_class->email_footer . "\n\n";
    }
    }
    tep_mail($order->customer['firstname'] . ' ' . $order->customer['lastname'], $order->customer['email_address'], EMAIL_TEXT_SUBJECT, $email_order, STORE_OWNER, STORE_OWNER_EMAIL_ADDRESS);


    // send emails to other people
    if (SEND_EXTRA_ORDER_EMAILS_TO != '') {
    tep_mail('', SEND_EXTRA_ORDER_EMAILS_TO, EMAIL_TEXT_SUBJECT, $email_order, STORE_OWNER, STORE_OWNER_EMAIL_ADDRESS);
    }

    // load the after_process function from the payment modules
    $payment_modules->after_process();

    $cart->reset(true);

    // unregister session variables used during checkout
    tep_session_unregister('sendto');
    tep_session_unregister('billto');
    tep_session_unregister('shipping');
    tep_session_unregister('payment');
    tep_session_unregister('comments');

    tep_redirect(tep_href_link(FILENAME_CHECKOUT_SUCCE SS, '', 'SSL'));

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



    I have turned emails currently turned on.

    Also if you could take your time in looking at this code, to see if you could some how see any errors or problems that would make this process such a long one, to figure out why the server would delete it. I would really appreciate it.

    Thank you very much,

    Mark

  10. #10
    Member
    Join Date
    Mar 2003
    Posts
    77
    Rep Power
    0


    Default

    comment out this section:

    tep_mail($order->customer['firstname'] . ' ' . $order->customer['lastname'], $order->customer['email_address'], EMAIL_TEXT_SUBJECT, $email_order, STORE_OWNER, STORE_OWNER_EMAIL_ADDRESS);


    // send emails to other people
    if (SEND_EXTRA_ORDER_EMAILS_TO != '') {
    tep_mail('', SEND_EXTRA_ORDER_EMAILS_TO, EMAIL_TEXT_SUBJECT, $email_order, STORE_OWNER, STORE_OWNER_EMAIL_ADDRESS);

    If I were you, I would comment out the "tep_mail" line only at first, then uncomment it and comment out the "// send emails to other people" section... maybe you have your "other people" screwed up in configuration.

    --gabe

Page 1 of 2 12 LastLast

Similar Threads

  1. Checkout_Success Page error
    By GeorgeW in forum osCmax v2 Installation issues
    Replies: 7
    Last Post: 09-27-2005, 04:57 PM
  2. remove button link at the bottom of checkout_success page
    By webwolfe in forum osCMax v1.7 General Mods Discussion
    Replies: 1
    Last Post: 08-01-2005, 04:42 AM
  3. Problem with Checkout success page loading.
    By markymrk22 in forum osCommerce 2.2 Modification Help
    Replies: 0
    Last Post: 07-17-2005, 11:44 AM
  4. My Account page blank / Loading index.php
    By christian_linde in forum osCMax v1.7 Installation
    Replies: 2
    Last Post: 01-23-2005, 09:13 AM
  5. Images not loading or loading slowly
    By goaskmom in forum osCmax v1.7 Discussion
    Replies: 1
    Last Post: 12-17-2004, 04:25 PM

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •