我已经尝试过我在网上找到的所有解决方案,但遗憾的是无法解决这个问题。
我在一个php页面上有这个表单。该表单在下拉菜单中填充服务的名称和价格。我希望表单将名称和价格发布到下一个php页面(/FinaliseOrder.php)。这是第一页:
<form method="post" action="/FinaliseOrder.php">
<!-- form action will go here -->
<div class="form-group col-xs-12">
<div class="col-xs-3 col-md-2 form-label"><label style="margin-top:7px;">Select Shipping Option:</label></div>
<div class="col-xs-4 col-md-3">
<select class="form-control" name="list" title="pick a type">
<?php if(count($postOpts)) { ?>
<?php foreach($postOpts as $row) { ?>
<option value="<?= $row["price"] ?>"><?= $row["name"] ." ($".$row["price"].")" ?></option>
<?php } ?>
<?php } else { ?>
<option value="<?= $post->getDefaultPrice() ?>"><?= "Default Shipping Option - $".$post->getDefaultPrice() ?></option>
<?php } ?>
</select>
</div>
</div>
<div class="form-group col-xs-12">
<button type="submit" name="submit" class="btn btn-default">Confirm</button>
</div>
</form>
在/FinaliseOrder.php页面上,我使用的是:
The name is <?php echo $_POST["name"]; ?><br>
The price is: <?php echo $_POST["price"]; ?>
但他们是空白的。为什么会这样?
答案 0 :(得分:0)
将$_GET["name"]
更改为$_POST["name"]
使用类似的选项: -
<option value="<?php echo $row['name'].'$'.$row['price']; ?>">
<?php
echo $row['name'] .' ($'.$row['price'].')' ;
?>
</option>
或打印这样的数据: -
<?php
echo $_POST['list'];
//for print value
$value=explode("$",$_POST['list']);
echo $value[0]."<br>";
echo $value[1];
?>
答案 1 :(得分:0)
尝试此代码,也许您需要检查是否单击了按钮提交。我希望这段代码能解决你的问题。
<?php
if(isset['submit']) {
$name = $_POST['name'];
$price = $_POST['price'];
echo "Your name is $name and the price is $price";
}
?>
答案 2 :(得分:0)
<option value="<?= $row["name"].",".$row["price"] ?>"><?= $row["name"] ." ($".$row["price"].")" ?></option>
首先替换每行代码旁边的一行代码 然后在FinaliseOrder.php页面中写入echo $ data [0]获取名称和echo $ data [1]获取价格