We have been developing the new website for sometime now but had only ever looked at the results using the Firefox browser. This morning we decided to look at it using IE7 just to make sure the layouts were not ‘buggered up’ when we used other browsers. To our surprise the sign-in functions stopped working altogether and we were dumped back into a view of the directory!
After hours of reprogramming and pulling every piece of code apart and rebuilding it we started to doubt the logic used. Its the same logic we had used in other sites, so we pulled up the other sites and checked the functions worked. They did so we just couldn’t understand why it works in one site and not the other. The php logs had no errors, apached reported no problems and the system logs were devoid of any reason behind the problem.
After hours of trawling through the web, we came across a couple of notes from other programmers saying they had similar problems associated with the use of session variables, but we could show the variables in the page just not in the following pages? So we started to look closely at what we were doing and started to dump all of the variables! No session variables were being stored in following pages!
So we set about looking for similar problems on the web, after a couple of red herrings we found out the problem is caused because we had put in an underscore ‘_’ in the base URL (www.whatson_test.local). IE7 will not process any session variables if the URL has an underscore in it! Because we were running a test server we had appended test with an underscore.
So we renamed the site (without the underscore www.whatson-test.local) restarted everything, mapped the IP in the host files and now it all works!
Why does MS have such a poor regard for the world we live in? If the other browsers all correctly support the URL forms why doesn’t IE???
If you come across the same problem don’t spend the hours we did looking for what is really a stupid problem..