POST数组不保留变量

时间:2018-08-23 09:02:47

标签: php

我正在尝试通过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没有任何使其刷新的命令。谢谢。

0 个答案:

没有答案