javascript - 使用多个不同的按钮在购物车中添加多个元素(添加到购物车)

标签 javascript php html css mysql

我是初学者。我正在开发一个电子商务网站。我的问题是我似乎无法在购物车中添加多个元素。如果我单击一个元素,它将被添加到购物车,但是当我单击另一个元素时,它只会替换我选择的第一个元素。关于如何解决这个问题的任何建议?谢谢

<!-- This is my index.html. You can browse my products here. This is just a sample of my code. It's too long. Sry. -->

<form method = "GET" action = "php/addtocartprocess.php">
  <p>Price: 9,199 Php<br><input class = "btn btn-success"type = "submit" name = "add_to_cart1" value = "Add to Cart"><span class = "glyphicon glyphicon-shopping-cart"></span></p>
  <p>Price: 28,890 Php<br><input class = "btn btn-success"type = "submit" name = "add_to_cart2" value = "Add to Cart"><span class = "glyphicon glyphicon-shopping-cart"></span></p>
  <p>Price: 46,995 Php<br><input class = "btn btn-success"type = "submit" name = "add_to_cart3" value = "Add to Cart"><span class = "glyphicon glyphicon-shopping-cart"></span></p></form>

<?php

// this is my php code. I don't know if it right or not
if (session_status() == PHP_SESSION_NONE) {
    session_start();
}
$connection = mysql_connect("localhost", "root", "");

if(isset($_GET['add_to_cart1'])){
	$_SESSION['prod_id'] = 1;
	header("location: ../android.php");
}
if(isset($_GET['add_to_cart2'])){
	$_SESSION['prod_id'] = 2;
	header("location: ../android.php");
}
if(isset($_GET['add_to_cart3'])){
	$_SESSION['prod_id'] = 3;
	header("location: ../android.php");
}
if(isset($_GET['add_to_cart4'])){
	$_SESSION['prod_id'] = 4;
	header("location: ../android.php");
}
if(isset($_GET['add_to_cart5'])){
	$_SESSION['prod_id'] = 5;
	header("location: ../android.php");
}
if(isset($_GET['add_to_cart6'])){
	$_SESSION['prod_id'] = 6;
	header("location: ../android.php");
}
if(isset($_GET['add_to_cart7'])){
	$_SESSION['prod_id'] = 7;
	header("location: ../android.php");
}
if(isset($_GET['add_to_cart8'])){
	$_SESSION['prod_id'] = 8;
	header("location: ../android.php");
}
if(isset($_GET['add_to_cart9'])){
	$_SESSION['prod_id'] = 9;
	header("location: ../android.php");
}
if(isset($_GET['add_to_cart10'])){
	$_SESSION['prod_id'] = 10;
	header("location: ../iphone.php");
}
if(isset($_GET['add_to_cart11'])){
	$_SESSION['prod_id'] = 53;
	header("location: ../iphone.php");
}
if(isset($_GET['add_to_cart12'])){
	$_SESSION['prod_id'] = 54;
	header("location: ../iphone.php");
}
if(isset($_GET['add_to_cart13'])){
	$_SESSION['prod_id'] = 55;
	header("location: ../windows.php");
}
if(isset($_GET['add_to_cart14'])){
	$_SESSION['prod_id'] = 56;
	header("location: ../windows.php");
}
if(isset($_GET['add_to_cart15'])){
	$_SESSION['prod_id'] = 57;
	header("location: ../windows.php");
}
if(isset($_GET['add_to_cart16'])){
	$_SESSION['prod_id'] = 58;
	header("location: ../smartwatch.php");
}
if(isset($_GET['add_to_cart17'])){
	$_SESSION['prod_id'] = 59;
	header("location: ../smartwatch.php");
}
if(isset($_GET['add_to_cart18'])){
	$_SESSION['prod_id'] = 60;
	header("location: ../smartwatch.php");
}
if(isset($_GET['add_to_cart19'])){
	$_SESSION['prod_id'] = 61;
	header("location: ../computer.php");
}
if(isset($_GET['add_to_cart20'])){
	$_SESSION['prod_id'] = 62;
	header("location: ../computer.php");
}
if(isset($_GET['add_to_cart21'])){
	$_SESSION['prod_id'] = 64;
	header("location: ../computer.php");
}
$gadgets = $_SESSION['prod_id'];
mysql_close($connection);
?>

<!-- This is my cart.php code -->

<?php
include('php/userloginprocess.php'); // Includes Login Script
include('php/addtocartprocess.php');

/*$id = $_SESSION['prod_id'];*/
$gadgets = $_SESSION['prod_id'];
if($_SESSION['login'] == FALSE){
	header("location: login.php");
}
if($_SESSION['login'] == TRUE)
?>
<?php
//connection
mysql_connect("localhost","root", "") or die(mysql_error());
//database connection
mysql_select_db("marketech_db") or die(mysql_error());
//sql query
$sql = "SELECT * FROM user_tbl";
$records=mysql_query($sql);
?>
<html>
<head>
<title> Marketech | Buy Genuine Gadgets Online </title>
<script src="js/jquery.js"></script>
<script src="js/bootstrap.js"></script>
<link rel="stylesheet" href="css/bootstrap.css">
<link rel="shortcut icon" href="images/marketechlogo.ico" />
</head>
<body>
<!-- First Navigation Bar -->
<nav class="navbar navbar-default navbar-fixed-top">
  <div class="container-fluid">
<!-- Brand and toggle get grouped for better mobile display -->
    <div class="navbar-header">
      <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#bs-example-navbar-collapse-1" aria-expanded="false">
        <span class="sr-only">Toggle navigation</span>
        <span class="icon-bar"></span>
        <span class="icon-bar"></span>
        <span class="icon-bar"></span>
      </button>
      <a class="navbar-brand" href="#">Marketech</a>
    </div>
<!-- Collect the nav links, forms, and other content for toggling -->
    <div class="collapse navbar-collapse" id="bs-example-navbar-collapse-1">
      <form class="navbar-form navbar-left">
        <div class="form-group">
          <input type="text" class="form-control" placeholder="Search">
        </div>
        <button type="submit" class="btn btn-default">Submit</button>
      </form>
      <ul class="nav navbar-nav navbar-right">
		<li><a href="#"><span class = "glyphicon glyphicon-shopping-cart"></span> Cart</a></li>
        <li class="dropdown">
          <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false"><?php echo $_SESSION ['fname']; ?><span class="caret"></span></a>
          <ul class="dropdown-menu">
            <li><a href="useraccountsettings.php">Account Settings</a></li>
            <li><a href="php/logout.php">Logout</a></li>
          </ul>
        </li>
      </ul>
    </div>
  </div>
</nav>
<!-- Second Navigation Bar -->
<br><br><br>
<div class = "container-fluid">
<nav class="navbar navbar-inverse navbar-lower">
  <div class="container-fluid">
      <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#bs-example-navbar-collapse-2" aria-expanded="false">
        <span class="sr-only">Toggle navigation</span>
        <span class="icon-bar"></span>
        <span class="icon-bar"></span>
        <span class="icon-bar"></span>
      </button>
    </div>
	<div class="collapse navbar-collapse" id="bs-example-navbar-collapse-2">
      <ul class="nav navbar-nav col-lg-12">
        <li class="col-md-2"><a href="android.php">Android Phone</a></li>
        <li class="col-md-2"><a href="iphone.php">iPhone</a></li>
        <li class="col-md-2"><a href="windows.php">Windows Phone</a></li>
        <li class="col-md-2"><a href="smartwatch.php">Smart Watch</a></li>
        <li class="col-md-2"><a href="computer.php">Computers</a></li>
        <li class="dropdown col-md-2"><a href="#" class="dropdown-toggle" data-toggle="dropdown">Popular Brands <span class="caret"></span></a>
			<ul class="dropdown-menu col-xs-2"> 
				<li><a href="android.php#samsung">Samsung</a></li>
				<li><a href="iphone.php">Apple</a></li>
				<li><a href="windows.php">Microsoft</a></li>
				<li><a href="android.php#sony">Sony</a></li>
				<li><a href="android.php#asus">Asus</a></li>
			</ul>
		</li>
      </ul>
	 </div>
    </div>
  </div>
</nav>
<!-- Marketechs Third Navigation (with glyphicons) -->
<div class="container">
	<ul class="list-unstyled">
			<li class = "col-md-3"><span class="glyphicon glyphicon-transfer"></span> 30 days Free Returns</li>
			<li class = "col-md-3"><span class="glyphicon glyphicon-plane"></span> Free Delivery Above 999 php</li>
			<li class = "col-md-3"><span class="glyphicon glyphicon-usd"></span> Cash on Delivery</li>
			<li class = "col-md-3"><span class="glyphicon glyphicon-earphone"></span> Call (049) 557 2681</li>
	</ul>
</div>
</div>
<!-- Cart -->

<div class = "container-fluid">
<form method = "GET" action = "deletecartproduct.php">
	<div class = "col-md-9">
		<table class = "table table-responsive table-hover">
			<tr>
				<th>Delete</th>
				<th>Item Name</th>
				<th>Item Price</th>
				<th>Image</th>
			</tr>
<?php
//connection
mysql_connect("localhost", "root", "") or die(mysql_error());
mysql_select_db("marketech_db") or die (mysql_error());
$sql = "SELECT * FROM product_tbl WHERE prod_id='$gadgets'";
$prod_records = mysql_query($sql);
while($products=mysql_fetch_assoc($prod_records)){
		echo "<tr>";
		echo  "<td>" .'<input type="checkbox" name="products[]" value='.$products['prod_id'].'>'."</td>";
		echo "<td>".$products['item_name']."</td>";
		echo "<td>".$products['item_price']."</td>";
		echo "<td>".$products['item_image']."</td>";
		echo "</tr>";
}
?>
		</table>
		<input type ="submit" class = "btn btn-danger" name = "delete_cart_item" value = "Delete"></form>
	</div>
</div>
<br><br><br><br><br>
<!-- Footer Navigation -->
<nav class="navbar navbar-default">
  <div class="container">
  <ul class ="list-unstyled">
			<li class = "col-md-2"><h5><b>Call Us: (049) 557 2681</b></h5></li>
			<li class = "col-md-2"><h5><b><a href = "about.html"><font color = "black">About Us </b></h5></font></a></li>
			<li class = "col-md-2"><h5><b><a href = "contact.html"><font color = "black">Contact Us</b></h5></font></a></li>
			<li class = "col-md-2"><h5><b><a href = "privacy.html"><font color = "black">Privacy</b></h5></font></a></li>
			<li class = "col-md-2"><h5><b><a href = "#"><font color = "black">Terms of Service</b></h5></font></a></li>
			<li class = "col-md-2"><h5><b>Copyright (c) 2016<h5></li>
	</ul>
  </div>
</nav>
<!-- 
Members:
Marlon Mendoza
-->
</body>
</html>

最佳答案

您正在使用原始 session 变量:$_SESSION['prod_id'],它应该是一个数组。

像这样初始化它:

$_SESSION['prod_ids'] = [];

然后,当产品添加到购物车或从购物车中删除时,更新 $_SESSION['prod_ids']

array_push($_SESSION['prod_ids'],/*product_id*/)

关于javascript - 使用多个不同的按钮在购物车中添加多个元素(添加到购物车),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41016743/

相关文章:

javascript - 如何使用 ActionScript 通过增加对象的坐标来移动 Macromedia Flash MX 中的对象?

javascript - 导入的数据库函数未在 Expressjs 中返回路由内的值

javascript - 为什么我总是得到错误的结果。计算错误,无法创建空输入文本警报

php - 在 Kohana PHP 框架中启用 PECL HTTP

php - 从mysql数据库中删除多行

css - 跨度显示内联 block 无法正常工作

Javascript - 在加载页面内容时将图标/图像放在页面上,并在某些 JS 事件中使用它

javascript - 我可以使用 `obj.constructor === Array` 来测试对象是否为数组吗?

php - 没有混合变量的函数调用有什么优点?

html - Div定位,列问题