从表单发布数组

| 我的页面上有一个表单,其中包含大量输入和一些隐藏字段,有人要求我将数据通过“后数组”传递,只是不确定如何执行此操作, 这是我目前正在做什么的摘要
<form enctype=\"multipart/form-data\" action=\"process.php\" method=\"POST\"> 
...
more inputs
...

<!-- Hidden data -->
<input type=\"hidden\" name=\"TimeToRenderHoursInput\" value=\"<?php echo $RenderHours; ?>\" />
<input type=\"hidden\" name=\"TimeToRenderDaysInput\" value=\"<?php echo $RenderDays; ?>\" />
<input type=\"hidden\" name=\"TimeToRenderYearsInput\" value=\"<?php echo $RenderYears; ?>\" />
<input type=\"hidden\" name=\"ContentMinutesInput\" value=\"<?php echo $ContentMinutes; ?>\" />
<input type=\"hidden\" name=\"ContentMinutesSelector\" value=\"<?php echo $ContentMinutesSelector; ?>\" />
<input type=\"hidden\" name=\"PriorityInput\" value=\"<?php echo $Priority; ?>\" />
<input type=\"hidden\" name=\"AvgFrameRenderTimeInput\" value=\"<?php echo $AverageFrameRenderTime; ?>\" />
<input type=\"hidden\" name=\"AvgFrameRenderTimeSelector\" value=\"<?php echo $AverageFrameRenderSelector; ?>\" />
<input type=\"hidden\" name=\"CoresInTestInput\" value=\"<?php echo $CoresInTest; ?>\" />
<input type=\"hidden\" name=\"EstPriceInput\" value=\"<?php echo $EstPrice; ?>\" />
<!-- End hidden -->

<input type=\"image\" src=\"http://www.venndigital.co.uk/testsite/renderbutton/_includes/images/button/submit.jpg\" alt=\"Submit\" value=\"Submit\" style=\"border:0!important;\" />
在我的process.php im中,然后这样调用数据...
$first_name = $_POST[\'first_name\']; 
$company_name = $_POST[\'company_name\']; 
$email_from = $_POST[\'email\']; 
$address = $_POST[\'address\']; 
$postcode = $_POST[\'postcode\']; 
$RenderHours = $_POST[\'TimeToRenderHoursInput\'];
$RenderDays = $_POST[\'TimeToRenderDaysInput\'];
$RenderYears = $_POST[\'TimeToRenderYearsInput\'];
$ContentMinutes = $_POST[\'ContentMinutesInput\'];
$ContentMinutesSelector = $_POST[\'ContentMinutesSelector\'];
$Priority = $_POST[\'PriorityInput\'];
$AverageFrameRenderTime = $_POST[\'AvgFrameRenderTimeInput\'];
$AverageFrameRenderSelector = $_POST[\'AvgFrameRenderTimeSelector\'];
$CoresInTest = $_POST[\'CoresInTestInput\'];
$EstPrice = $_POST[\'EstPriceInput\'];
有没有办法将其发布为数组?无论如何,我的方法是不好的做法吗?     
已邀请:
        给每个输入一个数组格式的名称:
<input type=\"hidden\" name=\"data[EstPriceInput]\" value=\"\" />
然后在PHP
$_POST[\'data\'];
中将是一个数组:
  print_r($_POST);         // print out the whole post
  print_r($_POST[\'data\']); // print out only the data array
    
        当您发布该数据时,它会以数组形式存储在“ 5”中。 您可以选择执行类似的操作:
<input name=\"arrayname[item1]\">
<input name=\"arrayname[item2]\">
<input name=\"arrayname[item3]\">
然后:
$item1 = $_POST[\'arrayname\'][\'item1\'];
$item2 = $_POST[\'arrayname\'][\'item2\'];
$item3 = $_POST[\'arrayname\'][\'item3\'];
但我看不出重点。     
        实际上,您已经在这样做了。提交表单后,数据将通过post数组($ _POST)传递。您的process.php正在接收该数组,并将其值重新分配为单个变量。     
        如果已经在服务器(PHP)端上发布了邮件,为什么还要通过帖子发送? 为什么不只是将数组保存到
$_SESSION
变量中,以便在提交表单时可以使用它,这可能使其变得更加“安全”,因为这样客户端将无法通过编辑源代码来更改变量。 这将取决于您真正想要做什么。     
        您可以使用内置功能:
extract($_POST);
它将为
$_POST
中的每个条目创建一个变量。     
        您正在执行的操作不一定是坏习惯,但是确实需要大量的输入。我会完成您要这样做的工作。
foreach($_POST as $var => $val){
    $$var = $val;
}
这将获取所有POST变量,并将它们放在各自的变量中。 因此,如果您有一个名为email的输入字段,并且luser放入Someone@example.com,您将有一个名为$ email的变量,其值为\“ Someone@example.com \”。     
        如果您希望帖子中的所有内容都以$ Variables的形式显示,则可以使用以下内容:
foreach($_POST as $key => $value) { 
    eval(\"$\" . $key . \" = \" . $value\");
}
    

要回复问题请先登录注册