Jump to content

Customers can not sign up


Recommended Posts

New install.
First fixed the 'pictures upload' issue (disable fopen or something, then create PHPTEMP folder instead of windows TEMP folder)

I can:
- Create items
- Create categories
- Upload pictures
- Create suppliers
- Create brand
etc etc

But i can not create a single customer...

Does PrestaShop create any logfiles of some kind?

Regards

Link to comment
Share on other sites

I suppose that you are doing this under V.1.1 !?...


Yep. The latest i can download.

Running on:
W2003 Std. IIS6 with FastCGI PHP5
Mysql 5.x

Numerous other sites running on this config, so not really an webserver issue

As i said, any other 'action' for adding thing to PrestaShop i CAN do..

No idea...
Link to comment
Share on other sites

  • 4 weeks later...

Hi

I have this same problem. Problem raising in authentication.php line 80:

if (!$customer->add())
$errors[] = Tools::displayError('an error occurred while creating your account');

$customer object exists, so any one knows where's the problem?

zusu

Link to comment
Share on other sites

  • 4 weeks later...

I have the same problem, I have install the version 1.1 in a server with win2003 + php5.2.8 + SQL 5.0.x + IIS 6.0 and I can not create customers, also when I installed I had a problem with db_settings_extends.sql

INSERT INTO `PREFIX_cart_product` (`id_cart`, `id_product`, `id_product_attribute`, `quantity`) VALUES (1, 7, 23, 1);
INSERT INTO `PREFIX_cart_product` (`id_cart`, `id_product`, `id_product_attribute`, `quantity`) VALUES (1, 9, 0, 1);

I had change this line for

INSERT INTO `PREFIX_cart_product` (`id_cart`, `id_product`, `id_product_attribute`, `quantity`, 'date') VALUES (1, 7, 23, 1, now());
INSERT INTO `PREFIX_cart_product` (`id_cart`, `id_product`, `id_product_attribute`, `quantity`, , 'date') VALUES (1, 9, 0, 1, now());

I tested with other server with win2003 + php5.2.8 + SQL 5.0.x + Apache 2.2 and the same download of prestashop and I had the some problems.
Finally I installed prestashop in my local machine WinXP with easyphp with same download of prestashop and the problem is resolve but I need that Prestashop work in a server.

I think that the problem is in SQL or configuration apache or IIS because I do not find sollution to problem.

Any body could help us?

Link to comment
Share on other sites

It took me a couple a days of replicating the problem on my dev environment and setting up debugging, but I found what the problem was on my machine.

The reason why customers were not able to create a new account on my website is because the insert statement was trying to insert a value into a column that did not exist in the table.

This happens when you upgrade your prestashop and install a backup mysql data you saved from a previous install. Thus, your mysql prestashop tables are not updated and the current version prestahop has a db sql schema change that is causing problems with your old prestshop schema.

Here is the fix:

- Figure out what version prestashop you currently have installed and what version you had before when you saved the backup mysql data.

- Unzip the prestashop zip file for your current install into a temp directory

- Go to the temp directory\prestashop\install\sql\upgrade folder

- Find the prestashop versions newer than the previously version when you backup your mysql data. I have version 1.1.0.4 when I save the mysql data.

- Therefore I had to update my current database with the newer 1.1.0.5.sql file to use with my current 1.1.0.5 prestashop instance.

- Copy the data in this file

- Open mysql query browser or phpMyAdmin. Load the file for update.

- Make sure you replace the everywhere you see "PREFIX" for the table name with the prefix you used for your tables. I think the default is "ps". So I replace all "PREFIX" with "ps". Otherwise you will get an error saying that the table does not exist.

- Execute the script and make sure you are running it against your prestashop db instance.

- Repeat for the other scripts to bring your db to your current prestashop version.

  • Like 1
Link to comment
Share on other sites

Did you import the database data for your 1.1.0.5 from a previous version or from another server?

The best way to figure out what is happenning is debug your server and step through the code. Find out what the exact call is to the database when it is trying to insert the new customer data. Cut and paste this data using mysql query anyalzer and see what errors it is giving you.

For me it was giving me an error where the column "newsletter_date_add" did not exist in table "ps_customer". That was my clue that I did not update the database for the updated 1.1.0.5 prestashop properly.

I used phpEd to debug the code.

Link to comment
Share on other sites

Go to your prestashop database and see if this column "newsletter_data_add" exist in your "ps_customer" table (Note your prefix for your customer table might be different from mine).

If it does not exist, then you did not run the new updates against your database.

if it does exist, then you are going to have to debug the code.

  • Like 1
Link to comment
Share on other sites

  • 2 weeks later...
I have resolve the problem, I don't Know if the best sollution but it works.
In classes/customer.php in line 95 there is that coment it.

// $fields['last_passwd_gen'] = pSQL($this->last_passwd_gen);

bye


thanks for your solution, now the customer register, and report this error
System error (Address -> id_country is empty)




you know how the resolv?

Link to comment
Share on other sites

  • 1 month later...
  • 4 years later...

It took me a couple a days of replicating the problem on my dev environment and setting up debugging, but I found what the problem was on my machine.

 

The reason why customers were not able to create a new account on my website is because the insert statement was trying to insert a value into a column that did not exist in the table.

 

This happens when you upgrade your prestashop and install a backup mysql data you saved from a previous install. Thus, your mysql prestashop tables are not updated and the current version prestahop has a db sql schema change that is causing problems with your old prestshop schema.

 

Here is the fix:

 

- Figure out what version prestashop you currently have installed and what version you had before when you saved the backup mysql data.

 

- Unzip the prestashop zip file for your current install into a temp directory

 

- Go to the temp directory\prestashop\install\sql\upgrade folder

 

- Find the prestashop versions newer than the previously version when you backup your mysql data. I have version 1.1.0.4 when I save the mysql data.

 

- Therefore I had to update my current database with the newer 1.1.0.5.sql file to use with my current 1.1.0.5 prestashop instance.

 

- Copy the data in this file

 

- Open mysql query browser or phpMyAdmin. Load the file for update.

 

- Make sure you replace the everywhere you see "PREFIX" for the table name with the prefix you used for your tables. I think the default is "ps". So I replace all "PREFIX" with "ps". Otherwise you will get an error saying that the table does not exist.

 

- Execute the script and make sure you are running it against your prestashop db instance.

 

- Repeat for the other scripts to bring your db to your current prestashop version.

 

You are a genius. This was the only solution after of import ps_customers old tables in new prestashop installation

best regards

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...