2010-11-21 15 views
0

my codes les comment obtenir tableau à partir des données non réalisées

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

sur mon prochain page-

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

il me donne la ERROR- Warning: array_map() [function.array-map]: Argument #2 should be an array

Je veux valeur de la commande suivante forme de tableau en raison de -

foreach($order as $row) 
+0

À quoi ressemble '$ _REQUEST ['hdnOrder']'? – deceze

+2

Peut-être pas exactement votre question, mais pourquoi ne pas stocker hdnOrder dans une session ou une base de données, puis le récupérer après le formulaire? La façon dont vous l'avez l'utilisateur peut l'altérer et ensuite soumettre un hdnOrder erroné – Fanis

+0

Vous mettez "non réalisé" dans votre titre. – greg0ire

Répondre

1

Votre problème est le htmlentities() que vous faites sur les données.

Utilisez à la place htmlspecialchars(serialize($order), ENT_QUOTES) et effectuez ensuite un htmlspecialchars_decode().

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

Vous devez utiliser urldecode/urlencode au lieu de htmlentities.