Hey Daarius,
Good to hear I could be of help.
Hmmm...your setup sounds really interesting...is this for a newspaper or tv station or newswire service or what?
Yes, as you brought up, you don't want to trust cookies at all if you need any sort of security, especially if your newspeople will be using public workstations. Also, I forgot to say this last time, if the variable data for sessions IS stored on the users system, I'm sure that there's a limit on the size of a cookie, and it'll probably cut off anything larger than maybe 10KB would be my guess. (I apologize for not knowing specifics on these things...but in my opinion, it makes me a better programmer/web designer if I have to actually think about what I'm doing and what the possibilities are for the client system...because of course you know that standards change and if you depend upon a standard if may just break your system)
So, the result of a cut off cookie could be simply part of the text in the article, or it may simply reject the entire cookie, or it may store it and spit up garbled results. Anyway, if your system spec. says you have to handle up to 100KB of article, you better make sure you can handle 150KB (safety margin...in case someone doesn't know the standard. =) ).
As far as one of the things you said first about writing the data twice on the page (the preview and the hidden data type), it is a valid concern: If you send your best reporter to from some far off country with a really slow connection, say (exaggerating...just to make sure we cover our bases) 300 baud, and they write this wonderful 100KB article. They must upload it the first time, then download it twice for the preview, then upload it again, that's 400+KB of data this poor guy must trickle through his 300 baud modem simply to submit his article. That would take a while, and probably cause a timeout. Now, I'm obviously exaggerating the seriousness of this situation, but if you plan for the slow, the fast will be blazingly fast, and probably work better as well.
Another user just replied as I'm writing this and told us that for sessions, the data is stored on the server and just the session id number is stored in the cookie. This makes your job a little easier, security wise. He also says you should rethink the standard submit|preview|submit approach. You might consider putting a notice right before the submit button asking them to proof-read what they wrote before submitting.) You can always do a data check and just print out the article info w/o the article itself to make sure they have the name, title, whatever correct. This will save you from having to quadruple the amount of data you send back and forth.
As far as the data mucking up the server...you must do two things: First, estimate the amount of traffic you will be getting. If you already have a site up and running, this should be easy enough. Second, figure out whether your ISP/web host will care if you have large temp files. They probably will, if you plan on having a significant number of people using the system at the same time. PHP does cleanup the old session data periodically, and if your sessions only last as far as submitting/previewing the article, then it should be fine. Make sure that after you finish writing to the database, issue a session_unregister($bigarticle); so it should clear up the space allocated for you. If your reporters log in to the system, you may want to have a session the whole time to track user preferences and such, but you only have the $bigarticle registered when you really need it.
If your webhost doesn't like what you might be doing with a bunch of big temp files, I'd recommend not using sessions, otherwise, go ahead and use them.
In php, remember that the script is executed server side, so with sessions, once you submit the article, it'll be stored in the temp file, then you can echo $bigarticle; and when they submit on the preview page or whatever you decide to use you don't need the hidden data fields because the server already has the article, it just needs to know whether it's good or not.
Regarding saving the information as unfinalized in the database, with or without sessions, but particularly without, I'd recommend, your application in mind, to save the information after the first submit and not do a preview page, but rather an update page.
What happens to the article after it's submitted to the database? Is it immediately ready for publification or sent to an editor or what? If this applies, ask a few of your reporters whether they would find a feature useful where they can go back and change/update an article after they already submitted it. I know I'm not a reporter and I don't do anything related to the newsmedia, but I suppose they might find out something or recieve a phone call about it after the submit the article that may make them want to update it. Updating articles may be a useful feature for your system, depending upon whether there is time to update if before editing/publication.
Josh