Unsafe? No. I just didn't like hidden variables in principle. I wanted to be able to hide the stuff the user gave me in the first form and keep it, because it seems inefficient in my computer-science mind to accept the first form, spit it back out, and then accept it and the second one together.
In the end, I just used hidden variables, eloquence be damned.
As for cookies, there are 2 ways you can do this. The first, traditional way, the client-side cookie, is no more safe than the form. But in some cases, it's a lot more convenient. Basically, a client-side cookie is just a text file you can store and modify on the client's box. If you're interested, get a good book on Javascript (O'Reilly's is good).
The other cookie option is server-side cookies. In PHP, these are called sessions. You can check your php book, else here's a good simple example of using php sessions to store a username and password.
http://www.webmasterbase.com/article.php/319/95