我正在尝试通过POST方法处理表单字段。我将发布一长段代码供您检查,但是代码的结构就像这样
<form> <table> <th> </th> <td> </td> </table> </form>
所以它是表单内的表格。提交表单后,我将转至预期的“ cart.php”页面,但是该页面显示了echo语句,并在一秒钟内正确显示了变量,然后显示了页面的其余部分,但页面中的变量echo语句变为“未定义”。 附注:谢谢,请勿在this question上标记为重复。
这是首页index.php
<div class="table-responsive" id="order_table">
<form method="POST" action="cart.php" class="form-group">
<table class="table table-bordered">
<tr>
<th width="40%">Product Name</th>
<th width="10%">Quantity</th>
<th width="20%">Price</th>
<th width="15%">Sub Total</th>
<th width="5%">Action</th>
</tr>
<?php
if(!empty($_SESSION["shopping_cart"]))
{
$sub_total = 0;
foreach($_SESSION["shopping_cart"] as $keys => $values)
{
?>
<tr>
<td><?php echo $values["product_name"]; ?></td>
<td><input type="text" name="quantity[]" id="quantity<?php echo $values["product_id"]; ?>" value="<?php echo $values["product_quantity"]; ?>" data-product_id="<?php echo $values["product_id"]; ?>" class="form-control quantity" /></td>
<td align="right">$ <?php echo $values["product_price"]; ?></td>
<td align="right">$ <?php echo number_format($values["product_quantity"] * $values["product_price"], 2); ?></td>
<td><button name="delete" class="btn btn-danger btn-xs delete" id="<?php echo $values["product_id"]; ?>">Remove</button></td>
</tr>
<?php
$sub_total = $sub_total + ($values["product_quantity"] * $values["product_price"]);
$tax = $sub_total * 0.075;
$total = $sub_total + $tax;
}
?>
<tr>
<td colspan="3" align="right"><span style="font-size:1.3em;">Tax</span></td>
<td align="right">$ <?php echo number_format($tax,2); ?></td>
</tr>
<tr>
<td colspan="3" align="right"><span style="font-size:1.3em;">Total</span></td>
<td align="right">$ <?php echo number_format($total, 2); ?></td>
<td></td>
</tr>
<tr>
<td colspan="5" align="center">
<textarea name="comments" id="comment" class="form-control" placeholder="Please enter any special instructions for the order"></textarea> <br>
<input type="submit" name="place_order" id="place_order" class="btn btn-warning" value="Place Order" />
</td>
</tr>
<?php
}
?>
</table>
</form>
这是cart.php的开始:
$comment = $_POST['comments'];
echo $comment. $_POST['place_order'];
print_r($_POST);
我怎么知道变量确实被传递是因为我注意到一瞬间出现了一些结果,所以我拍了一个视频并将其暂停在那里,并且它具有预期的POST数组,然后页面突然按预期显示,但带有< / p>
“未定义索引:注释”
和
“未定义的索引:place_order”
和顶部的“ Array()”。 cart.php没有任何使其刷新的命令。谢谢。