2010-11-21 7 views
0

meinen Code-wie Array aus nicht realisierten Daten

$order[$j][1]=$q16; 
<input type="hidden" name="hdnOrder" value="<?php echo htmlentities(serialize($order)); ?>"> 

bei meinem nächsten bekommen seiten-

$order = array_map('mysql_real_escape_string', unserialize($_REQUEST['hdnOrder'])); 

es gibt mir den folgenden fehler- Warning: array_map() [function.array-map]: Argument #2 should be an array

I Auftragswert möge Array bilden, weil of-

foreach($order as $row) 
+0

Was bedeutet '$ _REQUEST [ 'hdnOrder']' aussehen? – deceze

+2

Vielleicht nicht genau Ihre Frage, aber warum nicht speichern, dass hdnOrder in einer Sitzung oder Datenbank und dann holen Sie es nach dem Formular? So wie Sie es haben, kann der Benutzer manipulieren und dann einen fehlerhaften hdnOrder senden – Fanis

+0

Sie setzen "nicht realisiert" in Ihrem Titel. – greg0ire

Antwort

1

Ihr Problem ist die htmlentities() Sie tun auf die Daten.

Verwenden htmlspecialchars(serialize($order), ENT_QUOTES) statt und machen Sie einen htmlspecialchars_decode() danach.

$order = array_map('mysql_real_escape_string', 
unserialize(htmlspecialchars_decode($_REQUEST['hdnOrder'], ENT_QUOTES))); 
0

Sie sollten urldecode/urlencode anstelle von htmlentities verwenden.

Verwandte Themen