添加到购物车按钮重定向到另一个页面

时间:2019-01-30 11:01:43

标签: php html

每当我单击“添加到购物车”按钮时,它只会转到另一页,而不是显示在表格中

<?php

require "includes/dbh.php";
if(isset($_post['add'])){
    if(isset($_SESSION['shopping_cart'])){

这就是我在html中获取数据的方式

        $item_array_id=array_column($_SESSION['shopping_Cart'],'item_id');
         if(!in_array($_GET['id'],$item_array_id)){
             $count=count($_SESSION['shopping_cart']);
            $item_array=array(
                'item_id' =>$_GET['id'],
            'item_name'=>$_POST['hidden_name'],
            'item_price'=>$_POST['hidden_price'],
            'item_quantity'=>$_POST['quantity'],
            );

         $_SESSION['shopping_cart'][$count]=$item_array;
        }else{
            echo "<script> alert('item already added')</script>";
            echo "window.location='displayitems.php'></script>";
        }
    }else{
        $item_array=array(
            'item_id' =>$_GET['id'],
            'item_name'=>$_POST['hidden_name'],
            'item_price'=>$_POST['hidden_price'],
            'item_quantity'=>$_POST['quantity'], 
        );
        $_SESSION['shopping_cart'][0]=$item_array; 
    }
}
if(isset($_get['action'])){
    if($_get['action']=='delete'){
        foreach($_SESSION['shopping_cart'] as $keys =>$values){
            if($values['item_id']==$_get['id'])
            {
                unset($_SESSION['shopping_cart'][$keys]);
                 echo '<script>alert("item removed")</script>';
                 echo '<script>window.location="displayitems.php</script>';
            }
        }

    }
   }
?>
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<title>Page Title</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="stylesheet" type="text/css" media="screen" href="main.css" />
<script src="main.js"></script>
       <style>
  .product{
border:1px solid
margin:-1px 19px 3px -1px;
padding: 10px;
  text-align:center;
bacgkround-color:#efefef;
}
   </style>
</head>
<body>
<?php
if(isset($_SESSION['userId'])){
 echo '<div id="items" >';

    include_once 'includes/dbh.php';
    require 'includes/gallery-upload.in.php';
    $sql="SELECT * FROM gallery ORDER BY orderitems DESC;";
    $stmt=mysqli_stmt_init($conn);
    if(!mysqli_stmt_prepare($stmt,$sql)){

    echo "sql statement failed in displayitems.php";            
    }else{
        mysqli_stmt_execute($stmt);
        $result=mysqli_stmt_get_result($stmt);

        while($row=mysqli_fetch_assoc($result))
        {

?>

这是我添加到购物车按钮中的表格

<div class="col-md-3">
             <form method="POST" action="displayitems.php?action=add&id=<?php 
    echo $row["idGallery"]?>">
    <div class="product">
                <img src=images/<?php echo $row['imgFullNameGallery'] ?>  
      <br>
                <h3><?php echo $row['nameitem']?></h3>
                <h3><?php echo $row['price']?></h3>
                <input type='number' name='quantity' value="1">
                <input type='hidden' name='hidden_name' value="<?php echo 
    $row['nameitem']?>">
                  <input type='hidden' name='hidden_price' value="<?php 
echo 
    $row['price']?>">
                <button type='submit' name='add'>Add to cart</button>

</div>
</form>
</div>
<?php
}
}
}
?>
 <div style="clear":both"></div>
<h3 class="title2">Shopping cart details</h3>
<div class="table table-bordered">

<table>
<tr>
<th width=40%>Item Name</th>
<th width=10%>Quantity</th>
<th width=20%>Price</th>
<th width=15%>Total</th>
<th width=5%>Action</th>
</tr>
<?php
if(!empty($_SESSION['shopping_cart'])){
$total=0;
foreach($_SESSION['shopping_cart']as $keys  => $values){    

?>
<tr>
 <td><?php echo $values['item_name'];?></td>
<td><?php echo $values['item_quantity'];?></td>
<td>$<?php echo $values['item_price'];?></td>
<td><?php echo 
number_format($values['item_quantity']*$values['item_price'],2);?></td>
<td><a href="displayitems.php?action=delete&id=<?php echo $values['item_id']; ?><span class="text-danger">REMOVE</span></a></td>
</tr>
<?php
$total= $total+($values['item_quantity']*$values['item_price']);
}
?>
<tr>
 <td coslpan="3" align="right">total</td>
<td align="right"><?php echo number_format($total,2);?></td>
</td></td>
<?php

}

?>

</table>

</div>


</body>
</html>

它没有显示在表格中,并且网址仅更改为http://localhost/Soft/displayitems.php?action=add&id=1,页面为空白

1 个答案:

答案 0 :(得分:0)

因为您使用表格,并且按钮类型为submit,所以它需要一个回调函数。关于您没有人,并且您希望在同一页面中显示所有内容,因此您必须将submit功能设置为链接。

更改:

<button type='submit' name='add'>Add to cart</button>

<a type='submit' name='add'>Add to cart</a>

<input type="submit" value="Add to cart">

这是一个mozilla ref