Array in ein hidden feld und dann auslesen

rotmilan

Mitglied
Guten Abend,

ich habe vor daten aus sechs feldern in ein array zu schreiben diese dann zu serialisieren und über ein hidden feld zu schicken.
Dieses feld dann wieder zu deserialisieren und dann erstmal ausgeben.

Frage: muss ich hier htmlspecialchars auf das serialisierte Array anwenden?

Also hier steckt irgendwo noch der Wurm drin.

hier is wohl grad kein php code möglich.

<?
$zeite = array($_GET['eins'],$_GET['zwei'],$_GET['drei'],$_GET['vier'],$_GET['funf'],$_GET['sechs']);
$serialized = serialize($zeite);
?>
<input type="hidden" name="hid" value="<? htmlspecialchars($serialized,ENT_QUOTES); ?>">

<input type="submit" name="sub">

das kommt dann oben an und dann würde ich das erstmal gern ausgeben.

if(isset($_GET['hid'])){
$zeite = unserialize($_GET['hid']);
print_r($zeite);}

mfg rotmilan
 
Wieso willst du des Serialisieren? Wenn es nicht in der URL zu sehen sein soll dann nimm doch einfach "POST" statt "GET"! Oder was willst du damit bezwecken?

greetz
daddz
 
Aber was hat das mit dem Serialize zu tun? Soll es verschlüsselt sein oder was?
Ist das eigentlich der komplette Quelltext? Wenn ja kann das garnicht funktionieren! Zeig mal ein bisschen mehr Code!

greetz
daddz
 
hi,

naja ich möchte zunächst einmal das array über ein hidden feld übertragen und dafür ist doch serialize und unserialize hervorragend bis nötig oder(unabhängig was sonst noch passiert)?

if(isset($_GET['hid'])){
$zeite = unserialize($_GET['hid']);
print_r($zeite);}

<html>
<head><title>onload</title>

</head>
<body>
<form action="onload.php" method="GET">
<input name="eins" size=5>
<input name="zwei" size=5>
<input name="drei" size=5>
<input name="vier" size=5>
<input name="funf" size=5>
<input name="sechs" size=5>
<?
$zeite = array($_GET['eins'],$_GET['zwei'],$_GET['drei'],$_GET['vier'],$_GET['funf'],$_GET['sechs']);
$serialized = serialize($zeite);
?>
<input type="hidden" name="hid" value="<? $serialized; ?>">

<input type="submit" name="sub">
</form>


nachdem das klappt möchte ich halt falls etwas in get übergeben wurde ein neues cookie setzen und wenn nicht dann halt das gesetzte nutzen,das muss noch dazugeschrieben werden also ist das bisher der code.

mfg rotmilan
 
Es kann nicht schaden, htmlspecialchars anzuwenden.
Falls das Array HTML-Sonderzeichen enthält werden diese in validem html in die Seite geschrieben. Wenn der Browser das serialisierte Array dann übergibt, wird er dies berücksichtigen und Dir das Array in der ursprünglichen (serialisierten) Form übermitteln.
Probleme könnten jedoch Sonderzeichen, wie Tabs und Zeilenumbrüche machen, da solltest Du vorher mal testen.

Gruß hpvw
 
hi,

also das ist ja nicht schlecht das ich das array im serialisierten Zustand bekomme obwohl ich htmlspecialchars anwende.

Aber irgendwo muss es ja haken, kann mir jemand sagen wo das ist bzw. wo das sein könnte.

mfg rotmilan
 
Zurück