如何将$ _POST设置为等于$ _POST

时间:2013-11-26 19:51:03

标签: php html post

我有很多$_POST个变量......是否可以做这样的事情?

我想要这样的东西......(我知道这不起作用,因为它出现在$_POST['POST']):

<form method="POST" action="">
    <input type="hidden" name="POST" value="<?=$_POST?>"/>
</form>

而不是:

<form method="POST" action="">
    <input type="hidden" name="id" value="<?=$_POST['id']?>"/>
    <input type="hidden" name="name" value="<?=$_POST['name']?>"/>
    <input type="hidden" name="ordernum" value="<?=$_POST['ordernum']?>"/>

    <?php 
    for ($i = 1; $i <= $_POST['ordernum']; $i++){
    echo '<input type="hidden" name="line'.$i.'" value="'.$_POST['line'.$i].'" />';
    }
    ?>
</form>

原因是我有两种形式:

  • 第一个表单用于输入变量
  • 第二个表格是要求用户验证所有变量
  • 提交后,我想在数据库中输入

问题是我想将第一个表单中的$ _POST变量转移到数据库,而不必在第二个表单中添加<input type="hidden" >

1 个答案:

答案 0 :(得分:3)

你有2个基本选项。按个人优先顺序

会话

你可以将整个或部分post数组分配给一个会话

$_SESSION['FORM']=$_POST;
在使用或设置会话数组中的值之前,需要

session_start()。

通过对数组进行处理来

或“隐藏”表单中的值

  <input type="hidden" name="POST" value="<? echo serialize($_POST); ?>"/>

在另一端使用unserialize();来恢复数组