Reset a Textpattern user password

When moving sites from one host to another, for example client sites, I have from time to time found that the user password gets corrupted after importing to the new database, resulting in an inability to login.

Why this happens is hard to say, but it could be anything from a poor export/import of the database backup to different versions of MySQL on the old/new host.

I’ll leave the reasons why to the experts, but here’s a quick rundown on how to fix the problem for you or your client.

Login to phpMyAdmin

After login to phpMyAdmin, select the database for your TXP install. You will see a list of the tables within the database. Then, select the txp_users column.

Finally, select the user in question as in the image below.

select the user

Change the password

Now that you are in the user’s record screen you may change the password. To do this, first select PASSWORDfrom the pass field.

Then, select the current password text and enter your new password. Finally, press go and the record will be saved.

change password

Go and login

Now that the password has been changed, you may go back to your Textpattern login screen and enter the new password.

Or…enter a SQL query

You may alternatively run an SQL query directly if you are comfortable doing so:

update txp_users set pass=password(lower('pass')) where name='user';

Change pass to reflect the new password, and make sure user is the correct login username.