如何使用post方法在表单数据中发布数组变量

时间:2018-12-03 06:08:20

标签: php arrays

我有一个数组变量调用:$array_variable

$array_variable_1 = array('1','2','3','4' etc ....);
$array_variable_2 = array('1','2','3','4' etc ....);
$array_variable_3 = array('1','2','3','4' etc ....);
$array_variable_4 = array('1','2','3','4' etc ....);
$array_variable_5 = array('1','2','3','4' etc ....);

我想通过选择如下所示的下拉菜单来发布所有数据:

<select name="fieldforpost">
  <option value="<?php $array_variable_1; ?>">id name 1</option>
  <option value="<?php $array_variable_2; ?>">id name 2</option>
  <option value="<?php $array_variable_3; ?>">id name 3</option>
  <option value="<?php $array_variable_4; ?>">id name 4</option>
  <option value="<?php $array_variable_5; ?>">id name 1</option>
</select>

以及如何在PHP文件中获取此数据:

$output_array = $_POST['fieldforpost'];

最后一句话:我无法将这个数据发布到我的php文件中,任何哥们都知道如何执行此操作?

3 个答案:

答案 0 :(得分:1)

只需在值中加入回声

<select name="fieldforpost">
  <option value="<?php echo  $array_variable_1; ?>">id name 1</option>
  <option value="<?php echo $array_variable_2; ?>">id name 2</option>
  <option value="<?php echo $array_variable_3; ?>">id name 3</option>
  <option value="<?php echo $array_variable_4; ?>">id name 4</option>
  <option value="<?php echo $array_variable_5; ?>">id name 1</option>
</select>

答案 1 :(得分:0)

要发布表单字段,您需要为表单设置操作和发布方法。例如,如果您想将表单发布到现在所在的页面,则可以使用:

<form action="<?php $_SERVER['PHP_SELF'] ?>" method="post">
  <select name="fieldforpost">
    <option value="<?php $array_variable_1; ?>">id name 1</option>
    <option value="<?php $array_variable_2; ?>">id name 2</option>
    <option value="<?php $array_variable_3; ?>">id name 3</option>
    <option value="<?php $array_variable_4; ?>">id name 4</option>
    <option value="<?php $array_variable_5; ?>">id name 1</option>
  </select>
  <input type="submit" name="submit" value="Submit Form">
</form>

提交表单后,页面将重新加载,$output_array = $_POST['fieldforpost'];应该可以正常工作(假设在表单上选择了一个值)。

现在,如果要动态填充数组中的选项,则可以执行以下操作:

<select name="fieldforpost">
  <?php 
    foreach($array_variable as $var) {
      echo "<option value=\"$var\">id name $var</option>";
    }
  ?>
</select>

答案 2 :(得分:0)

您的值存储在数组中,因此您必须使用数组索引来显示它。

<select name="fieldforpost">
  <option value="<?php echo $array_variable[0]; ?>">id name 1</option>
  <option value="<?php echo $array_variable[1]; ?>">id name 2</option>
  <option value="<?php echo $array_variable[2]; ?>">id name 3</option>
  <option value="<?php echo $array_variable[3]; ?>">id name 4</option>
  <option value="<?php echo $array_variable[4]; ?>">id name 1</option>
</select>

请记住,在PHP数组中索引从0开始而不是1。 或者,您可以使用foreach循环:

<select name="fieldforpost">
  <?php foreach($array_variable as $variable) : ?>
      <option value="<?php echo $variable; ?>">id name <?php echo $var; ?></option>
   <?php endforeach; ?>
</select>

如果要读取表单数据:

$output_array = $_POST['fieldforpost'];

确保您的表单的方法设置为POST。如果将该方法留空,它将使用GET。