2017-04-06 64 views
0

我有一个表单在一个叫做product的页面上使用PHP生成,它给了用户下拉框的选项。然后使用post方法将表单提交到购物车页面,但购物车页面没有取得发布的变量?如何存储发布的变量?帖子变量没有在目标页面上被拾取

这里是我的代码:

产品页面的Html:

<form id="form1" name="form1" action="nav/cart.php" method="POST"> 
    <input type="hidden" name="pid" id="pid" value="<?php echo $targetID; ?>"> 
    <?php echo $shipping?> 
    <button class="btn btn-custom" name="submit" id="submit" type="submit">Add To Cart</button> 
</form> 

产品页面PHP:

$shipping = '<select class="form-control" name="shippingType" id="shippingType" style="margin-bottom: 20px;"> 
         <option value="United Kingdom">United Kingdom</option> 
         <option value="Europe">Europe</option> 
         <option value="Worldwide">Worldwide</option> 
        </select>'; 

车页面PHP:

if(isset($_POST['shippingType'])){ 
    $shippingType = $_POST['shippingType']; 
}; 
+0

'$ _POST'的值是什么? (例如'echo“

".print_r($_POST,true)."
”;') – showdev

+0

对我来说没关系。是'$ _POST ['pid']'好吗?我不认为这是,但是你可以改变''的按钮吗?另外,你能告诉我们'$ _POST'和'$ _SERVER'的内容吗? – jotaelesalinas

+0

这应该工作,尝试使用回声我认为它将显示值 –

回答

0
if(isset($_POST['shippingType'])){ 
    echo $shippingType = $_POST['shippingType']; 
} 

尝试回显并查看,我试过你提到的代码,它对我没有任何改变,除了我使用action =“”,因为我把php放在同一个页面中。

0

试试这个,它工作完美。

<?php 

$s = '<select class="form-control" name="shippingType" id="shippingType" style="margin-bottom: 20px;"> 
        <option value="United Kingdom">United Kingdom</option> 
        <option value="Europe">Europe</option> 
        <option value="Worldwide">Worldwide</option> 
       </select>'; 
?> 

<form id="form1" name="form1" action="<?php $_SERVER['PHP_SELF'];?>" method="POST"> 
<input type="hidden" name="pid" id="pid" value="<?php echo $targetID;?>"> 
<?php echo $s;?> 
<button class="btn btn-custom" name="submit" id="submit" type="submit">Add To Cart</button> 
</form> 
<?php 
if(isset($_POST['shippingType'])){ 
echo $shippingType = $_POST['shippingType']; 
}; 
?>