Jump to content
  • Checkout
  • Login
  • Get in touch

osCommerce

The e-commerce.

fast easy checkout


nana

Recommended Posts

i never thought of that but i guess you can also change

if ($customer_pwa =='Y')

{

$error = true;

$messageStack->add('create_account',

to

if ($customer_pwa !='N')

{

$error = true;

$messageStack->add('create_account',

Link to comment
Share on other sites

  • Replies 1.7k
  • Created
  • Last Reply

Top Posters In This Topic

hello david

yes probably although your way is probably better since it would be easier for future development i was thinking of reducing the modifications necessary in the first time install

also i was wondering if you can help with this thought

a- is it a good idea to remove the checkout_confirmation.php?

b- is it better to have the shopping cart available on top of checkout_shipping.php? instead of the address box this can be achived pretty easily i think

c-should i add an add password box to checkout_success.php for non accounts

d- which one of create_accounts do you like better?

Link to comment
Share on other sites

Hello Frank,

Yes it is a tough call. I found the number of modifcations a bit troublesome as many of these files I have already changed. But this step at least would be simple.

 

a- I would like to get rid of checkout confirmation if possible. It doesn't seem to do a lot apart from add the payment method (of course the customer would still need to see the final price before paying).

 

b- Personally I don't like to see the shopping cart on the checkout page. My shopping cart contains pictures and the ship-in-cart shipping module so I certainly wouldn't want that cluttering up the page. Maybe a short summary would be OK. This probably depends on the individual store. Some show the shopping cart as each item is added, some keep the total visible in the header and others show the whole cart in one of the columns.

 

c- Is that for a second chance? - I don't really understand.

 

d- I much prefer the create account with all the information in it. This is because I really want to encourgae customers to return. I give discounts to returning customers, and I need them to create just a single account for all of their purchases for this to work. If I had a sex shop it might be different :-)

 

Someone had made a suggestion in another thread that it is the shipping address you should ask the customer for, not the billing address (at least for physical goods it is).

 

I prefer to simplify it though so that there are only 3 sections -

 

1 - login box

2 - name, address, phone and email all together in one infobox

3 - option to create account and subscribe to newsletter

 

One thing I noticed was that the email and password boxes - in both the login box section and the create account section - get filled in when a customer returns. It seemed a little odd but I haven't though through all the implications.

Link to comment
Share on other sites

What I would like to see on the payment page is at least the total amount I'm paying before selecting payment method.

 

Actually the checkout confirmation page doesn't ask for any extra information (I was wrong) but is does serve the function of working out the tital price which may be different if there are surcharges for different payment methods or different costs for different shipping methods.

 

In my case is doesn't do much at all. For other people what are the alternatives - javascript or a page refresh I suppose. Serieng as a page refresh is no better than having a confirmation page we should be left with using javascript to determine the total. As a few users may have this disabled, there should be a fallback option.

Link to comment
Share on other sites

I have downloaded this contrib and am trying to install part 1 first.

 

All seems ok, have copied over checkout_shipping, made the appropriate change to my checkout_payment and confirmation files.

 

I have uploaded these files to my server but cannot see any changes to the pages, they look identical to the originals. I though I was going to see one less page?

 

My shop is at: Campion Shop

 

I am using Paypal as the payment method.

 

You can login with [email protected] password: account to test only

 

Thanks

Jeff

Edited by jlevene
Link to comment
Share on other sites

hello jeff i am glad you are having success

around line 23 in checkout_shipping.php change

tep_redirect(tep_href_link('create_account3.php', '', 'SSL'));

// tep_redirect(tep_href_link(FILENAME_CREATE_ACCOUNT, '', 'SSL'));

to

// tep_redirect(tep_href_link('create_account3.php', '', 'SSL'));

tep_redirect(tep_href_link(FILENAME_CREATE_ACCOUNT, '', 'SSL'));

notice that i am commenting out the create_account3.php not FILENAME_CREATE_ACCOUNT

this changes the redirect to correct file

create_accoun3.php is a diffrent approach that does not give the customer an option to create an account at this stage

Link to comment
Share on other sites

hello jeff i am glad you are having success

around line 23 in checkout_shipping.php change

  tep_redirect(tep_href_link('create_account3.php', '', 'SSL'));

// tep_redirect(tep_href_link(FILENAME_CREATE_ACCOUNT, '', 'SSL'));

to

  //  tep_redirect(tep_href_link('create_account3.php', '', 'SSL'));

tep_redirect(tep_href_link(FILENAME_CREATE_ACCOUNT, '', 'SSL'));

notice that i am commenting out the create_account3.php not FILENAME_CREATE_ACCOUNT

this changes the redirect to correct file

create_accoun3.php is a diffrent approach that does not give the customer an option to create an account at this stage

 

Franc,

Thanks for the reply, I changed the file as you mentioned. Only problem I have is that if the user does not create a login and adds items to their basket and goes to checkout they get the following error:

 

Internal Server Error

The server encountered an internal error or misconfiguration and was unable to complete your request

 

We are running on a shared server from Clara.Net

 

Jeff

Link to comment
Share on other sites

Franc,

Thanks for the reply, I changed the file as you mentioned.  Only problem I have is that if the user does not create a login and adds items to their basket and goes to checkout they get the following error:

 

Internal Server Error

The server encountered an internal error or misconfiguration and was unable to complete your request

 

We are running on a shared server from Clara.Net

 

Jeff

 

Oops, tried to edit my last post but couldn't

 

We are running on a shared server. I found that you had specified SSL in that line, we are not yet running in SSL mode so changed it to NONSSL and it worked.

 

Is it easy to change the site to SSL? Our hosting company provides this facility for us.

 

Jeff

Link to comment
Share on other sites

I am trying to add an auto mailer from the account_password_new.php page (that mimics the create account tep_mail function)...I cannot get the mail to send. My current file now looks like this:

 

// build the message content
     $email_address = tep_db_query("select customers_email_address from " . TABLE_CUSTOMERS . " where customers_id = '" . $customers_id . "'");
  $firstname = tep_db_query("select customers_firstname from " . TABLE_CUSTOMERS . " where customers_id = '" . $customers_id . "'");
  $lastname = tep_db_query("select customers_lastname from " . TABLE_CUSTOMERS . " where customers_id = '" . $customers_id . "'");
  $name = $firstname . ' ' . $lastname;

     if (ACCOUNT_GENDER == 'true') {
        if ($gender == 'm') {
          $email_text = sprintf(EMAIL_GREET_MR, $lastname);
        } else {
          $email_text = sprintf(EMAIL_GREET_MS, $lastname);
        }
     } else {
       $email_text = sprintf(EMAIL_GREET_NONE, $firstname);
     }

// Begin Admin Email Manager    
if(ADMIN_EMAIL_MANAGER=='true') {
 $email_text .= CREATE_ACCOUNT_EMAIL_TEXT . EMAIL_WARNING . EMAIL_FOOTER_CREATE;
 tep_mail($name, $email_address, CREATE_ACCOUNT_EMAIL_SUBJECT, $email_text, STORE_NAME, STORE_OWNER_EMAIL_ADDRESS); 
 }
else {
 $email_text .= EMAIL_WELCOME . EMAIL_TEXT . EMAIL_CONTACT . EMAIL_WARNING_OLD . EMAIL_FOOTER_CREATE;
 tep_mail($name, $email_address, EMAIL_SUBJECT, $email_text, STORE_NAME, STORE_OWNER_EMAIL_ADDRESS); 
 }
// End Admin Email Manager 

       tep_redirect(tep_href_link('login.php', '', 'SSL'));
   } else {
       $error = true;

       $messageStack->add('account_password', ERROR_CURRENT_PASSWORD_NOT_MATCHING);
     }
   }
 }

 

Any thoughts?

Link to comment
Share on other sites

Not sure if I made an error in installing it but I found that I couldn't login in to an existing account. When I created a new account with the same email address it was accepted and the old account deleted.

 

Should all the existing accounts in the database be changed when installing this along these lines?

 

 update customers set createaccount = 'Y'

 

Also, a question on this. I agree with this idea. I would like a customer with an account to log in when purchasing, rather than making a one time purchase. Does this change fix that? And, if so, where does it go?

 

Thanks,

 

Nick

Link to comment
Share on other sites

Also, a question on this. I agree with this idea. I would like a customer with an account to log in when purchasing, rather than making a one time purchase. Does this change fix that? And, if so, where does it go?

 

Thanks,

 

Nick

 

I was also running into problems with those who did not create an account still being "logged in" after purchase. So I added the following to the top of the checkout_success.php page:

 

// if the customer is not logged on, redirect them to the shopping cart page
 if ((tep_session_is_registered('customer_id'))&&(tep_session_is_registered('createaccount'))) {
   tep_session_unregister('customer_id');
 tep_session_unregister('customer_default_address_id');
 tep_session_unregister('customer_first_name');
 tep_session_unregister('customer_country_id');
 tep_session_unregister('customer_zone_id');
 tep_session_unregister('comments');
 tep_session_unregister('createaccount');
 tep_session_unregister('newsletter');

 $cart->reset();
 $wishList->reset();
 
//    tep_redirect(tep_href_link(FILENAME_SHOPPING_CART));
 }

 

And then changed this:

 

if(!tep_session_is_registered('createaccount')){

 

to:

 

if(tep_session_is_registered('customer_id')){

 

This logs off any clients who did NOT create an account. Still working on the two probs above. Any help would be appreciated.

Link to comment
Share on other sites

Also, a question on this. I agree with this idea. I would like a customer with an account to log in when purchasing, rather than making a one time purchase. Does this change fix that? And, if so, where does it go?

 

Thanks,

 

Nick

yes it does this is to change the db for all existing customers with existing email accounts new customers with account are already stopped

 

as far as the email i would try redirecting back to the same file and echo $email_address to make sure you are getting the correct email address

 

 

also thank you for the code

Link to comment
Share on other sites

yes it does this is to change the db for all existing customers with existing email accounts  new customers with account are already stopped

 

as far as the email i would try redirecting back to the same file and echo $email_address to make sure you are getting the correct email address

also thank you for the code

 

My question is this:

 

If someone has previously created an account, then they use the one-time purchase selection, it automatically writes over their previous records, including their createaccount value in the db.

 

Did I do something wrong in the install of this?

 

If so, let me know what file I need to look at.

 

Thanks,

 

Nick

Link to comment
Share on other sites

My question is this:

 

If someone has previously created an account, then they use the one-time purchase selection, it automatically writes over their previous records, including their createaccount value in the db.

 

Did I do something wrong in the install of this?

 

If so, let me know what file I need to look at.

 

Thanks,

 

Nick

 

Nevermind...there was a typo in your last create_account.php file.

 

look for this:

 

 $customer_pwa = $customer_info['createaccoun'];

 

and change it to this:

 

 $customer_pwa = $customer_info['createaccount'];

Link to comment
Share on other sites

Have a slight problem.

 

Installed everything, now I get the following errors:

 

0 -

 

select customers_id, customers_firstname, customers_password, customers_email_address, customers_default_address_id from customers where customers_email_address = '[email protected]'AND createaccount='Y'

 

[TEP STOP]

 

 

When I try to log in, and:

 

0 -

 

insert into customers (customers_firstname, customers_lastname, customers_email_address, customers_telephone, customers_fax, createaccount, customers_newsletter, customers_password, customers_gender, customers_dob) values ('3423423', '34324', '[email protected]', '4343534534', '', 'N', '', '5d142431ca77ecef4a5396e1dc38e140:ca', '', '')

 

[TEP STOP]

 

When I click on confirm order in Checkout page.

 

Also,

 

0 -

 

insert into customers (customers_firstname, customers_lastname, customers_email_address, customers_telephone, customers_fax, customers_newsletter, createaccount, customers_password, customers_gender, customers_dob) values ('test', 'tester', '[email protected]', '233454353', '', '', 'Y', '137330449115dc0237f65acbfd411397:4d', 'm', '19840512')

 

[TEP STOP]

 

 

When creating a new account.

Edited by oriondw
Link to comment
Share on other sites

Everything works but the following:

 

When trying to log in it says that

 

email/password are incorrect. When using forgotten pass, it says that email is not in databse, when in fact it is.

 

When trying to edit customer info in admin folder gives following errors:

Warning: reset(): Passed variable is not an array or object in catalog/admin/includes/classes/object_info.php on line 17

 

Warning: Variable passed to each() is not an array or object in catalog/admin/includes/classes/object_info.php on line 18

 

And does not delete a customer, so have to go in the database and delete everything manually.

 

Help :)

Link to comment
Share on other sites

I also, made account3.php a copy of account.php.

 

I think it makes more sense now :)

 

Other then that, this whole contrib looks great :)

glad you like it

create_account3.php is an alternative method that does not offer the customer to create an account at this stage and only offers them the option lateron in the email

this file is not necessary

at the beginning of the checkout_shipping.php you can decide which create_account file you want to use i had the create_account.php commented out so you can see the other file in action

also please note that there is a misspelling in the create account.php as it is mentioned a few post before

also if you have accounts that already exist in your db the value of the createaccount field must be set to "Y" for all these accounts.

i will post an update with bug fixes shortly

Link to comment
Share on other sites

Everything works but the following:

 

When trying to log in it says that

 

email/password are incorrect.  When using forgotten pass, it says that email is not in databse, when in fact it is.

you have to set all accounts made before this contribution to have createaccount

value set to Y there is a line of code by radder a few post before that fixes this issue

When trying to edit customer info in admin folder gives following errors:

Warning: reset(): Passed variable is not an array or object in catalog/admin/includes/classes/object_info.php on line 17

 

Warning: Variable passed to each() is not an array or object in catalog/admin/includes/classes/object_info.php on line 18

I do not know if this has any thing to do with this contribution

see what those lines are

does not delete a customer, so have to go in the database and delete everything manually.

the customer is deleted when he tries to buy again

Link to comment
Share on other sites

Found the typo, but it was already correct in my files  :huh:  :)  Awaiting next release!

 

 

Interesting... It creates accounts and new accounts can log in just fine.

 

 

But if i recreate the original test account with same email, it will not let it in. Maybe something wrong with my eye's :'(

 

 

 

Also, found one more problem.

 

In the check out phase, I enter credit info, choose shipping method, etc. When I click on Continue, it kicks me to login page.

 

Also, it does not load shipping/billing adress from the user account data into the check out window. When trying to enter it manually, it doesnt give any error just doesnt input it. Actually, it doesnt set it as primary adress automatically. Have to set it manually.

Edited by oriondw
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
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
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...