从表单发布数组

Lia*_*iam 18 html php arrays post

我的页面上有一个输入和一些隐藏字段的表单,我被要求通过"post array"传递这些数据,但我不确定如何执行此操作,

这是我现在正在做的事情的片段

<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;" />
Run Code Online (Sandbox Code Playgroud)

在我的process.php中,然后调用数据......

$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'];
Run Code Online (Sandbox Code Playgroud)

有没有办法将其作为数组发布?无论如何,我的方法是不好的做法?

mcg*_*ilm 46

给每个输入一个像这样的名字

<input type="hidden" name="data[EstPriceInput]" value="" />
Run Code Online (Sandbox Code Playgroud)

然后在PHP中

  print_r($_POST);         // print out the whole post
  print_r($_POST['data']); // print out only the data array
Run Code Online (Sandbox Code Playgroud)

将是一个数组

  • 这会是一个好习惯吗?有一件事我看到了这一点的重要性,当你想要在数据库中插入值而不键入所有字段时,你只需循环遍历数组? (2认同)

Dav*_*ude 8

发布该数据时,它将作为数组存储在$ _POST中.

您可以选择执行以下操作:

<input name="arrayname[item1]">
<input name="arrayname[item2]">
<input name="arrayname[item3]">
Run Code Online (Sandbox Code Playgroud)

$item1 = $_POST['arrayname']['item1'];
$item2 = $_POST['arrayname']['item2'];
$item3 = $_POST['arrayname']['item3'];
Run Code Online (Sandbox Code Playgroud)

但我没有看到这一点.也许得到更多的澄清?


小智 5

事实上,您已经在这样做了。提交表单后,数据将通过post数组($ _POST)传递。您的process.php正在接收该数组,并将其值重新分配为单个变量。