如何在html表单中隐藏的输入类型中传递php数组

时间:2017-03-10 06:02:59

标签: php html forms

我想在我的表单输入类型中传递我的php数组,因为hidden.i已尝试多次,但它在我的输入表单中给了我一个数组(key => value,key => value)。

这是我的php代码有一个数组。

 $my_arr = array();
 $my_arr['key']="value"; 

这是我的HTML代码

 <form method="post" action="next.php">
 <input type="hidden" name="my_form_data" value="<?php print_r($my_arr) ?>">
 <button name="submit_btn">Submit</button>
</form>

任何人请帮我在我的输入隐藏元素中传递php数组以及如何在下一页中获取它。

4 个答案:

答案 0 :(得分:3)

最简单的方法是通过json_encode将json设为字符串,然后在json_decode检索时解码,

<form method="post" action="next.php">
<input type="hidden" name="my_form_data" value="<?php echo json_encode($my_arr); ?>">
<button name="submit_btn">Submit</button>
</form> 

答案 1 :(得分:2)

$hiddenvariable=array("apple","banana","cat");
foreach($hiddenvariable as $value)
{
  echo '<input type="hidden" name="my_form_data[]" value="'. $value. '">';
}

首先创建一个数组,然后使用foreach提取每个元素并将这些值传递给隐藏值。

答案 2 :(得分:2)

如果我理解正确,你可以试试这个:

<form method="post" action="next.php">
 <input type="hidden" name="my_form_data" value="<?php echo htmlspecialchars(serialize($my_arr)) ?>">
 <button name="submit_btn">Submit</button>
</form>

然后在next.php中反序列化以获取PHP数据结构:

<?php
$my_arr = unserialize($_POST["my_form_data"]);

答案 3 :(得分:0)

在名称

中使用my_form_data[]
<form method="post" action="next.php">
  <input type="hidden" name="my_form_data" value="<?php echo htmlentities(serialize($my_arr));?>">
</form>