2010-11-21 43 views
0

我的代碼 -如何從數據未實現

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

得到陣列上我的下一個頁面級

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

它給了我下面的錯誤 - ​​

我要訂購價值陣列形式,因爲 -

foreach($order as $row) 
+0

'$ _REQUEST ['hdnOrder']'看起來像什麼? – deceze 2010-11-21 12:16:30

+2

也許不完全是你的問題,但爲什麼不將該hdnOrder存儲在會話或數據庫中,然後在表單之後獲取它?用戶可以篡改它,然後提交錯誤的hdnOrder – Fanis 2010-11-21 12:19:00

+0

您在標題中放入了「未實現」。 – greg0ire 2010-11-21 12:21:53

回答

1

您的問題是您正在處理數據的htmlentities()

改爲使用htmlspecialchars(serialize($order), ENT_QUOTES),之後再做htmlspecialchars_decode()

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

您應該使用urldecode/urlencode而不是htmlentities。