I'm not sure if it's just me using poor coding practices, or if Firefox 3 is starting to do things differently than everyone else.. allow me to explain (and I apologize in advance for this long post, but I want to thoroughly explain myself here).
Ok, I am working on my portfolio website:
http://www.olsenportfolio.com/v2/index.php
On the 'contact' tab, there is a form the user fills out to get in touch with me.. one of the fields the user must fill out is a verifcation field.
In a nutshell, how this works is that I generate a random set of numbers / letters that is stored in an array, which is in turn imploded and stored as a $_SESSION[' '] variable. I do not make any use of storing this session as a persistent cookie (as I want this generated verification code destroyed upon browser closure), and I don't want to pass the ID via URL (since the current system works, should I? Kind of taking the approach of 'if it isn't broken, don't fix it').
When the user hits submit, the contact page is refreshed, and the information submitted by the user is checked to see if the info is correct (including the verification code obviously). Up till firefox 3, my system seems to be working perfectly across all major current browsers (well, the ones I tested are Opera 9.51, IE 7, Firefox 2 (now 3), and Safari 3.1.2 (win). But now, it seems that simply declaring a $_SESSION variable is not stored correctly within Firefox 3.
To prove this, do the following:
Goto to the contact page, make note of the verification code.
Then goto the resume page (right next to contact). At the top of the page, below today's date, there is a mini navigation, and I printed this session variable to the right of the 'home' mini-link. This was done so I can confirm that the session variable is successfully passing between pages (although in reality I only need to pass it again through the contact page when it refreshes).
In all the other browsers I mentioned above, the verification code you see in contact should display identically in the resume page. But in firefox 3, the resume page displays something completely different.
You can even test the contact page by entering a bogus email (I have to recode the regular expressions that govern this, so it is not perfect.. there are issues).
Then fill out some bluffed message, then enter the verification code as seen.. You should be able to successfully send your message in the other browsers, but not in Firefox 3 (there will be an error message about incorrect verifcation code.. even though you have entered it correctly).
I noted all of this to bugzilla.. and the response back was bascialy that browsers do not know what a PHP session is.. and that I can pass this session through a cookie or pass the Id via URL.. is it my coding practices that are bad, or did firefox 3 change something in how defaut declared $_SESSION variables are handled (which if I understand correctly is stored in a PHPSESSID temp cookie)?
Again, sorry for the long post.. just wanted to be sure I am clear in what I am saying.
Cheers,
NRG