I presume you have some other JS or PHP code involved here that we aren’t seeing, that brings up that login pop-up. But using a url with just a fragment (#login) does not sent a request to the server to re-load the page - it all happens in your browser. So any PHP you may be expecting to catch that fragment and enable the pop-up doesn’t run. Any JS had startup to enable that pop-up doesn’t run. Try changing your url, maybe just temporarily as a test, to “index.php?q=1#login” - which will cause the browser to query the server again for the page, and see if that changes anything.
I do not see a qualification. In other words, I see localhost followed by the rest of the URL, not http://localhost followed by the rest of the URL. I do not know if http:// should be included in the URL shown there.
Yeah, I’m not the greatest JS programmer, so wading through hundreds of lines of code looking for something unusual isn’t going to work for me. Could you post the html generated by index.php, would help spot where the JS is hooked in.
Also, check the network tab in the code inspector, to confirm that when the link is clicked the page is re-loaded.