Jump to content

Workaround for bugs: (1) freezing on Shop Configuration screen; (2) "Employee does not exist, or bad password" on Admin login screen - v1.2.1.0


Recommended Posts

Hello -

Installing Prestashop 1.2.1.0 (completely replacing version 1.1, which was still just a demo on my machine), I encountered two bugs - my workarounds are below. However, please see two "minor worries" way down at the end of this post :-)

Bug (1) : On the 4th screen of the installation, titled "Shop configuration", when you click the 'Next' button, nothing happens.

This screen is where you create the Admin employee's login id (i.e., your email), and password.

http://www.prestashop.com/forums/viewthread/13985

Bug (2) : When logging into the backend, you receive an error message like "Employee does not exist, or bad password".

http://tinyurl.com/p86nw5


I am presenting my workarounds here for clarity.

Workaround (1) : Ignore this bug, and point a new browser window to your store (e.g., http://myshop.com). The front-end seems to work.

(I did a reload in my browser to update the shop logo, since it was new.)

Workaround (2) : I looked at table 'ps_employee', using PhpMyAdmin. It was empty!

My earlier version of PrestaShop had one record in the 'ps_employee' table (my admin login in the 'email' column, and with a long list of alphanumeric characters in the 'passwd' column).

The link under Bug (2) above provides a solution where you *already* have a record in the 'ps_employee' table.

However, there were *no* records in my 'ps_employee' table - because this was a fresh install. So I need to do an INSERT instead of an UPDATE in MySQL.

There are three issues here:

( a ) MySQL syntax - e.g., quoting strings (single quotes and double quotes are ok?), table names (back-quotes?), calling the md5 function, etc.

( b ) PhpMyAdmin offers a screen where you can insert a new record into a table - without using an INSERT statement. But should I quote my email or not - i.e., [email protected], '[email protected]' or "[email protected]"?

If no quotes are required for a field of type VARCHAR in PhpMyAdmin, then if I enter something like md5('blahblahblah') in the 'passwd' field, then maybe PhpMyAdmin will *not* interpret it as a *call* to the function md5 on the string 'blahblahblah' - maybe PhpMyAdmin will interepret it as a literal string "md5('blahblahblah')".

( c ) What are the two fields 'stats_date_from' and 'stats_date_to'? I found only two hits on google:

http://tinyurl.com/pz8ko4

These fields are nullable, so maybe if I leave them empty it will be ok.

The PHP source code for PrestaShop here:

http://svn.prestashop.com/trunk/classes/ModuleGraph.php

seems to indicate that these fields are used to set 'Calendar - From' and 'Calendar - To' in 'Stats' in the back-end.

These lines in the source code:

   if (empty($employee->stats_date_from) OR empty($employee->stats_date_to))
   {
     if (empty($employee->stats_date_from))
       $employee->stats_date_from = date('Y').'-01-01';
     if (empty($employee->stats_date_to))
       $employee->stats_date_to = date('Y').'-12-31';
     $employee->update();
   }
   return $employee;



seem to indicate that if the 'stats_date_from' (resp. 'stats_date_to') field is empty in the database, then the Stats will be generated from 1 January (resp. to 31 December) of the current year.


Anyways... here's what I did for Workaround (2) :

(2)(a) I used PhpMyAdmin to add a record to table 'ps_employee' with the following values:

email : '[email protected]'
passwd : md5('blahblahblah') // see the link below for specifics on this

http://tinyurl.com/p86nw5

id_employee : 1
id_profile : 1
active : 1 // means TRUE

As I feared, PhpMyAdmin did *not* call the function md5 - it just inserted the literal md5 function call itself (truncated to 32 characters) into the 'passwd' field.

(2)(B) But fortunately PHP also displayed the MySQL statement which it used to do this. This provided the "Rosetta stone" for MySQL syntax (and created the needed record in the 'ps_employee' table, albeit with a bad value in the 'passwd' field), enabling me to create an UPDATE statement (to fix the incorrect, truncated 'passwd' field) to execute either in PhpMyAdmin, or - even better, to guarantee that md5 gets called - directly on the MySQL command-line on my server.

Here's the transcript of my MySQL session. Replace sections in <...> with your values.

myserver: mysql -u root -p
Enter password:   
Welcome ...

mysql> use 
Reading table information ...

Database changed
mysql> UPDATE `ps_employee` SET passwd = md5('') WHERE email = '' ;
Query OK, 1 row affected (0.00 sec)
Rows matched: 1  Changed: 1  Warnings: 0

mysql> \q




Note : In the MySQL statement above, there are backquotes around the table name:

`...`



and straight single quotes around the strings:

'...'



Unfortunately, this forum reformats opening single quotes to back-quotes, and closing single quotes to apostrophes, if not inside a CODE block!

Note : The 'cookie key' and your password should be entered *juxtaposed* (i.e., concatenated - with no spaces, commas or any other characters between them), forming a *single* string argument for the md5 function.

The value for

_COOKIE_KEY_



can be found in file config/settings.inc.php inside your prestashop folder on your server.

This seems to solve the problem - I can now log into my back-end.

Minor worry (1) : Fields 'stats_date_from' and 'stats_date_to' in this record in table 'ps_employee' are still NULL. Is this OK?

Minor worry (2) : Is there an 'auto-increment' generator associated with table 'ps_employee'? And if so, is it out of whack now (because I inserted the value 1 for id_employee myself, with no help from any generator)?

Link to comment
Share on other sites

  • 2 weeks later...
Bug (1) : On the 4th screen of the installation, titled “Shop configuration”, when you click the ‘Next’ button, nothing happens.

This screen is where you create the Admin employee’s login id (i.e., your email), and password.

Bug (2) : When logging into the backend, you receive an error message like “Employee does not exist, or bad password”.





Absolutelly the same problem. :(
Link to comment
Share on other sites

Bug (1) : On the 4th screen of the installation, titled “Shop configuration”, when you click the ‘Next’ button, nothing happens.

This screen is where you create the Admin employee’s login id (i.e., your email), and password.

Bug (2) : When logging into the backend, you receive an error message like “Employee does not exist, or bad password”.





Absolutelly the same problem. :(


Sorry you are having the same problem.

Please see my earlier messages in this same thread, which provide a "workaround" (solution) to this problem.

In summary, it seems that bug (1) is not serious and can simply be ignored temporarily. Bug (2) can be solved by manipulating MySQL directly (e.g., using PhpMyAdmin, or using the MySQL command line) to create a record representing a 'user'.
Link to comment
Share on other sites

  • 1 year later...

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...