Die Serialisierung wird Ihnen nicht helfen, es sei denn, Sie sind froh, die serilisierten Daten irgendwo zu speichern, vielleicht als XML-Fragment in einer db-Tabelle oder als Datei (yuk). Es scheint die falsche Herangehensweise an mich, aber wenn Sie wirklich Serialisierung verwenden wollten, gibt es viele Möglichkeiten. Das einfachste, was ich mir vorstellen kann, wäre, die request.form-Sammlung in xml zu serialisieren, entweder indem Sie den xmlserializer verwenden oder indem Sie es durchschleifen und selbst eine XML-Zeichenkette erstellen.
Mein Vorschlag wäre, ...
Wenn Sie glücklich sind Javascript zu verwenden, warum nicht versuchen, und dies auf dem Client zu tun?
Sie könnten die Daten aus dem Formular zum Beispiel durch Klicken auf eine Schaltfläche "Speichern" sammeln und in einem Cookie speichern.
Wenn der Benutzer zurückkommt, können Sie nach dem Cookie suchen und die Daten aus dem Cookie erneut laden.
Sie würden die Formulardaten nur dann zurück auf den Server stellen, wenn das Formular vollständig ist. Dies würde das Problem mit DB-Beschränkungen vermeiden.
Versuchen Sie folgendes: http://www.bigresource.com/Tutorial/PHP/Saving_Form_Data_Into_A_Cookie.htm
UPDATE
folgende Anmerkungen: OK, wenn Sie den Ansatz von Serialisierung Ihre Form nehmen wollen Sie müssen irgendwo die Daten speichern.
Nach dem, was ich denke, was Sie tun mögen:
Wenn Ihre Formulardaten in einer einzigen Tabelle passen schlage ich würde, dass Sie ohne die db Einschränkungen einen ‚Replik Tisch‘ haben und es so etwas nennen formDataHolding (wo Ihr Original fomrData war). Sie würden lesen und schreiben von dieser Tabelle und nur die Daten migrieren, wenn die Formulardaten abgeschlossen sind, verwende ich das Wort migrieren, was bedeutet, dass Daten die Haltetisch verlässt und irgendwie in die vollständige Tabelle geht. Wenn Ihr Formular aus Daten besteht, die in mehrere Tabellen passen, dann ist die Serialisierung möglicherweise die richtige Antwort, aber seien Sie bereit, diese Daten so zu speichern, dass sie nicht mit Ihrem vorhandenen Datenmodell übereinstimmen oder bereit sind, Replikat-Tabellen 'ohne die Einschränkungen für alle Tabellen, die die Daten speichern.
Serialisierung der Daten bedeutet nicht notwendigerweise, dass Sie xml erstellen, aber ich nehme an, dass dies das ist, was Sie wollen. Ich würde den Ansatz nehmen, die NameValueCollection aus Request.Form zurückzuholen und sie dann zu serialisieren. Möglicherweise möchten Sie dies anders machen, wenn Sie Webformulare verwenden.
Hier ist eine URL für jemanden, der eine Namevaluecollection serialisiert hat: http://nayyeri.net/blog/Serialize-NameValueCollection/
warum wurde das abgelehnt? – Jason
Sie möchten keinen separaten Datenspeicher für die unvollständigen Formulare, und Sie möchten sie nicht mit den vollständigen Formularen speichern. Wie und wo möchten Sie sie dann speichern? – LukeH
Editiert für Klarheit. Entschuldigung Luke. –