phpbar.de logo

Mailinglisten-Archive

[php] serialize() / wddx / encoding und formularfelder

[php] serialize() / wddx / encoding und formularfelder

Henning Jödden php_(at)_phpcenter.de
Wed, 4 Apr 2001 18:00:44 +0200


Tach zusammen,

Wenn ein User ungültige angaben macht, wird er zurückgeschickt, seine
bereits eingegebenen Daten sollen aber nicht verloren gehen. Also heißt es
serialisieren, um die Daten genauso wieder auspacken zu können (soll ohne
sessions laufen).

<schnipp>
$data = $HTTP_POST_VARS;
$pack = base64_encode(serialize($data));
if ($error) {
	header("Location: zurück.php?data=$pack");
	exit;
}
</schnapp>

auf der Formularseite pack ich das ganze dann wieder aus:
<schnipp>
if ($data)  {
	$data = unserialize(base64_decode($data));
	$foo_1 = $data["foo1"];
	...
	...
}
</schnapp>
im Formularfeld steht dann: <? if (!is_empty($foo_1) echo "value=$foo_1"; ?>

Soweit so gut, ABER: wenn der User in ein Formularfeld ein Leerzeichen
eingegeben hat z.B. "Harry Mustermann" dann steht nachdem er wieder
zurückgeleitet wurde nur noch "Harry" im Formularfeld.
						WIESO ??

Ich weiß, mit sessions hätte ich dieses Problem nicht, kann ich aber leider
nicht mit arbeiten.
wddx_serialize_vars() funktionierte im selben verfahren wie oben
komischerweise auch nicht (--enable-wddx, und --with-xml sind
mit"configure"d), damit kam nach einem
var_dump($data), nur "array{0}" raus.

Ich hoffe ich hab`s nicht zu bescheuert erklärt ;)
Vielleicht kann mir ja jemand helfen.


Gruß
	Henning


~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#name:          Henning Jödden
#comp:        wonderpixel GmbH
#http:    ~~www.wonderpixel.de
#smtp:~~henning_(at)_wonderpixel.de
#tel:        ~~+49 221 9123118              Gott würfelt nicht...
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~					-Albert Einstein




php::bar PHP Wiki   -   Listenarchive