There was a similar post to this, however the solution did not work for me.

I am having some difficulty logging into my WordPress site. When I attempt to visit example.com/wp-admin, I see the login page as per usual, however, once I enter my login details, the page essentially reloads and the url changes to:


This is a loop which I cant pass beyond. The front end of the website seems to be working as per usual. Visiting example.com/wp-login.php and entering my login details has the same behaviour as listed above.

I have confirmed this is not a problem with anything on my local machine as the behaviour persists across multiple browsers, devices and networks.

As suggested by others, I went into PhpMyAdmin > wp_usermeta > and deleted the meta_value for session_token. This did not fix the issue.

I turned on DEBUG and was provided with the following items when loading example.com/wp-login.php:

Warning: Cannot modify header information - headers already sent by (output started at /home//public_html/wp-includes/wp-db.php:1308) in /home//public_html/wp-login.php on line 425

Warning: Cannot modify header information - headers already sent by (output started at /home//public_html/wp-includes/wp-db.php:1308) in /home//public_html/wp-login.php on line 438

I have found numerous forum posts about the issue but none offer a satisfactory solution.

Please help as I urgently need to update content on the site.


"Headers already sent" errors are frequently caused by plugin conflicts. Since you have access to phpMyAdmin, you could try emptying the active_plugins data from the options table. (But first I would copy and save the option_value elsewhere for resetting it if it doesn't help.)


I had similar problem with getting into admin area of a wordpress site. My problem was solved by downgrading PHP version on my webserver from 7 to 5. Some plugins could not work properly under PHP 7. So after downgrading I deactivated all of them and upgraded PHP to 7 and it was working.


I had the same problem. In my case the mysql database wasn't renewed and it wouldn't be possible to write in it.

I discovered it watching at the log error of the server, where I found lots of errors like: WordPress database error INSERT,UPDATE command denied to user '<MYUSER>'@'<MYDBHOST>' for table '<MYPREFIX>_options'


My solution was similaro to @Marco Panichi's - I didn't realise my database went over the size limit. Fixed this is the hosting panel and the problem was gone. Ironically, the size limit e-mail from my hosting company went to spam :)


For me, the solution to this WordPress Login loop problem was in the database.So step one is to login to the database. I just used PhpMyAdmin for this.Once logged, find your WordPress table, and navigate to the wp_options table.

There are two fields in this table that could be the culprit to your WordPress Login page looping problem.

  1. option_name: siteurl
  2. option_name: home

Ensure that the URL given in both of these two fields is set to what you expect it to be.(same URL) Change the value and you should be all set to go.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.