![](/img/trans.png)
[英]How can I send an Object/Array through form and hide the PHP form input from the user?
[英]PHP, Send Array with 2 fields as input hidden through Form
我有這個數組$ newArray,它已構建在POST表單中,因此我想將整個數組作為隱藏發送到INPUT中:
Array
(
[0] => Array
(
[day1to7] => 1
[timeHHMM] => 10:00
)
[1] => Array
(
[day1to7] => 1
[timeHHMM] => 11:00
)
[2] => Array
(
[day1to7] => 1
[timeHHMM] => 12:00
)
[3] => Array
(
[day1to7] => 5
[timeHHMM] => 14:00
)
)
您能幫我知道如何用INPUT編寫嗎?
echo '<input type="hidden" name="newArraySend" value="'. $newArray[day1to7]['timeHHMM'] . '">'; -> this is my wrong try
另外,請讓我知道我如何收到它?
$newArrayReceived = $_POST['newArraySend']; ->this also is wrong I think
謝謝你,費利佩
回答具體問題; 您可以循環並添加隱藏的輸入:
foreach($newArray as $key => $val) {
echo '<input type="hidden" name="newArraySend['.$key.'][day1to7]" value="'.$val['day1to7'].'">';
echo '<input type="hidden" name="newArraySend['.$key.'][timeHHMM]" value="'.$val['timeHHMM'].'">';
}
然后,接收的PHP應該使用$_POST['newArraySend']
就像原始數組一樣。
或者只是編碼整個數組:
$val = htmlentities(json_encode($newArray));
echo '<input type="hidden" name="newArraySend" value="'.$val.'">';
然后在接收端解碼:
$result = json_decode(html_entity_decode($_POST['newArraySend']), true);
但是,實際上,使用會話可以更好地解決此問題:
session_start();
$_SESSION['newArray'] = $newArray;
然后在接收端:
session_start();
$result = $_SESSION['newArray'];
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.