如何post单选按钮的数据到下一页的table

How to post data from radio buttons to table in the next page

好的@AlexioVay 这就是我在第一页上的内容form.php

<?php
$fruits = [
   'Orange' => 10, 
   'Banana' => 12, 
   'Apple' => 15, 
   'Lemon' => 8
];
?>
<form method="post" action="next.php">
    <?php
    // With this syntax we say "$key equals $value" ($fruit => $price)
    foreach($fruits as $fruit => $price) {
        // We use '. $variable .' to merge our variables into HTML
        // Since we are in a loop here all the items from the array will be displayed:
        echo '<input type="checkbox" name="'.$fruit.'" /> 
             $'.$price.' - '.$fruit;
    }
    ?>
    <button type="submit">Submit</button>
</form>

在我的第二页 next.php,

<table style="width:100%">
  <tr>
<?php
foreach($_POST as $fruit) {
      echo "<td>".$fruit."</td>";
}
?>
  </tr>
</table>

所以当我在第一页上 select 选项然后按提交时,下一页上的数据只是“on”这个词

这里是例子,不知道你能不能打开这个link https://test.ftgclothing.net然后你就明白我在说什么了

最好的方法是 foreach 循环,显示 select 在 $_POST 变量中编辑了哪些项目:

<table style="width:100%">
  <tr>
<?php
foreach($_POST as $fruit) {
      echo "<td>".$fruit."</td>";
}
?>
  </tr>
</table>

此外,您之前应该在文件中使用复选框,而不是单选按钮,因为使用单选按钮您只能 select 一组项目中的一个项目:

<form method="post" action="next.php">
    <input type="checkbox" name="orange" />  - Orange
    <input type="checkbox" name="banana" />  - Banana
    <input type="checkbox" name="apple" />  - Apple
    <input type="checkbox" name="lemon" />  - Lemon
    <button type="submit">Submit</button>
</form>

因此,此解决方案将仅显示您之前在页面上勾选的 selected 项目,就像您在问题中提出的那样。如果您还想显示所有其他项目,您应该为这两个页面创建一个数组。我假设你还在学习 PHP 和 HTML?你也想要那个解决方案还是自己试试?

编辑: 数组解法来了:

form.php

// We define the array $fruits and assign the price 
// to each item as Integer value (therefore without quotation marks):
$fruits = [
   'Orange' => 10, 
   'Banana' => 12, 
   'Apple' => 15, 
   'Lemon' => 8
];

<form method="post" action="next.php">
    <?php
    // With this syntax we say "$key equals $value" ($fruit => $price)
    foreach($fruits as $fruit => $price) {
        // We use '. $variable .' to merge our variables into HTML
        // Since we are in a loop here all the items from the array will be displayed:
        echo '<input type="checkbox" name="'.$fruit.'" /> 
             $'.$price.' - '.$fruit;
    }
    ?>
    <button type="submit">Submit</button>
</form>

next.php

<table style="width:100%">
  <tr>
<?php
foreach($_POST as $fruit) {
      echo "<td>".$fruit."</td>";
}
?>
  </tr>
</table>

因此,我们创建了一个包含所有项目的数组。如果你想象你会列出地球上所有可用的水果或其他长列表,这会更舒服。使用数组,您还可以执行 array_sort 之类的操作,以便按价格等对它们进行排序。这非常有用。

编辑 29/03:

这应该在一行中,请注意缺少的撇号:

echo '<input type="checkbox" name="'.$fruit.'" value="'.$fruit.'" />' . $'.$price.' - '.$fruit;