如何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;
好的@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;