【发布时间】:2016-02-19 20:58:16
【问题描述】:
附上我的代码图片。我正在尝试传递单击名为“num”的任何按钮的 index.php 值(4 或 8)来选择Snacks.php 并回显变量 $snacks。
问题在于,无论我点击 4 还是 8,它都只会传递表单中的最后一个值输入(即 8)。我颠倒了输入的顺序只是为了仔细检查,当我这样做时,我无论我点击什么,都只能让值 4 通过。
index.php 上的输入
<div class="pricing-button">
<form method="POST" action="ChooseSnacks.php">
<input class="btn btn-primary btn-md btn-square" onclick="change('19.99')" type="text" value = "4" name="num[]" readonly></a>
<input class="btn btn-primary btn-md btn-square" onclick="change('25.00')" type="text" value = "8" name="num[]" readonly></a>
</div>
index.php 上的提交按钮
<input class="btn btn-primary btn-lg btn-square" type="Submit" name="Submit" id="Submit" value='Submit'>
会话开始于chooseSnacks.php
<?php
session_start();
$snacks = $_POST['num[]'];
?>
回显变量
<div class="categories">
<h3>Your Carepackage</h3>
<p> <?php echo $snacks; ?> Snacks Every <?php echo $snacksNum; ?> </p> </div
【问题讨论】:
-
您的输入具有相同的名称,因此最后一个会覆盖其他输入。尝试数组
name="num[]" -
是否需要更改 $snacks = $_POST['num'];到 $snacks = $_POST['num[]'];?因为在我尝试它们之后,它要么设置“数组”,要么设置为空白
-
你需要遍历 $snacks 和 echo。
-
太棒了。现在这个
$_POST['num[]'];您需要从那里删除[],因为您已经在name="num[]"中拥有它。然后你只需使用foreach($_POST['num'] as $var),应该可以解决它。 @我如果你想让我提交作为答案@Nyhan -
@Nyhan 我在下面发布了一个答案,您可以看看。如果这是您希望获得的预期结果,那对我有用。