2016-12-07 26 views
0

私は初心者です。私は電子商取引のウェブサイトを開発しています。私の問題は、カートに複数のアイテムを追加することができないということです。アイテムをクリックすると、カートに追加されますが、別のアイテムをクリックすると、選択した最初のアイテムが置き換えられます。どのように私はそれを修正することができます上の任意の提案?あなたは複数の異なるボタンを使用して複数のアイテムをカートに追加する(カートに追加)

<!-- 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'])){ 
 
\t $_SESSION['prod_id'] = 1; 
 
\t header("location: ../android.php"); 
 
} 
 
if(isset($_GET['add_to_cart2'])){ 
 
\t $_SESSION['prod_id'] = 2; 
 
\t header("location: ../android.php"); 
 
} 
 
if(isset($_GET['add_to_cart3'])){ 
 
\t $_SESSION['prod_id'] = 3; 
 
\t header("location: ../android.php"); 
 
} 
 
if(isset($_GET['add_to_cart4'])){ 
 
\t $_SESSION['prod_id'] = 4; 
 
\t header("location: ../android.php"); 
 
} 
 
if(isset($_GET['add_to_cart5'])){ 
 
\t $_SESSION['prod_id'] = 5; 
 
\t header("location: ../android.php"); 
 
} 
 
if(isset($_GET['add_to_cart6'])){ 
 
\t $_SESSION['prod_id'] = 6; 
 
\t header("location: ../android.php"); 
 
} 
 
if(isset($_GET['add_to_cart7'])){ 
 
\t $_SESSION['prod_id'] = 7; 
 
\t header("location: ../android.php"); 
 
} 
 
if(isset($_GET['add_to_cart8'])){ 
 
\t $_SESSION['prod_id'] = 8; 
 
\t header("location: ../android.php"); 
 
} 
 
if(isset($_GET['add_to_cart9'])){ 
 
\t $_SESSION['prod_id'] = 9; 
 
\t header("location: ../android.php"); 
 
} 
 
if(isset($_GET['add_to_cart10'])){ 
 
\t $_SESSION['prod_id'] = 10; 
 
\t header("location: ../iphone.php"); 
 
} 
 
if(isset($_GET['add_to_cart11'])){ 
 
\t $_SESSION['prod_id'] = 53; 
 
\t header("location: ../iphone.php"); 
 
} 
 
if(isset($_GET['add_to_cart12'])){ 
 
\t $_SESSION['prod_id'] = 54; 
 
\t header("location: ../iphone.php"); 
 
} 
 
if(isset($_GET['add_to_cart13'])){ 
 
\t $_SESSION['prod_id'] = 55; 
 
\t header("location: ../windows.php"); 
 
} 
 
if(isset($_GET['add_to_cart14'])){ 
 
\t $_SESSION['prod_id'] = 56; 
 
\t header("location: ../windows.php"); 
 
} 
 
if(isset($_GET['add_to_cart15'])){ 
 
\t $_SESSION['prod_id'] = 57; 
 
\t header("location: ../windows.php"); 
 
} 
 
if(isset($_GET['add_to_cart16'])){ 
 
\t $_SESSION['prod_id'] = 58; 
 
\t header("location: ../smartwatch.php"); 
 
} 
 
if(isset($_GET['add_to_cart17'])){ 
 
\t $_SESSION['prod_id'] = 59; 
 
\t header("location: ../smartwatch.php"); 
 
} 
 
if(isset($_GET['add_to_cart18'])){ 
 
\t $_SESSION['prod_id'] = 60; 
 
\t header("location: ../smartwatch.php"); 
 
} 
 
if(isset($_GET['add_to_cart19'])){ 
 
\t $_SESSION['prod_id'] = 61; 
 
\t header("location: ../computer.php"); 
 
} 
 
if(isset($_GET['add_to_cart20'])){ 
 
\t $_SESSION['prod_id'] = 62; 
 
\t header("location: ../computer.php"); 
 
} 
 
if(isset($_GET['add_to_cart21'])){ 
 
\t $_SESSION['prod_id'] = 64; 
 
\t 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){ 
 
\t 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"> 
 
\t \t <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> 
 
\t <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> 
 
\t \t \t <ul class="dropdown-menu col-xs-2"> 
 
\t \t \t \t <li><a href="android.php#samsung">Samsung</a></li> 
 
\t \t \t \t <li><a href="iphone.php">Apple</a></li> 
 
\t \t \t \t <li><a href="windows.php">Microsoft</a></li> 
 
\t \t \t \t <li><a href="android.php#sony">Sony</a></li> 
 
\t \t \t \t <li><a href="android.php#asus">Asus</a></li> 
 
\t \t \t </ul> 
 
\t \t </li> 
 
     </ul> 
 
\t </div> 
 
    </div> 
 
    </div> 
 
</nav> 
 
<!-- Marketechs Third Navigation (with glyphicons) --> 
 
<div class="container"> 
 
\t <ul class="list-unstyled"> 
 
\t \t \t <li class = "col-md-3"><span class="glyphicon glyphicon-transfer"></span> 30 days Free Returns</li> 
 
\t \t \t <li class = "col-md-3"><span class="glyphicon glyphicon-plane"></span> Free Delivery Above 999 php</li> 
 
\t \t \t <li class = "col-md-3"><span class="glyphicon glyphicon-usd"></span> Cash on Delivery</li> 
 
\t \t \t <li class = "col-md-3"><span class="glyphicon glyphicon-earphone"></span> Call (049) 557 2681</li> 
 
\t </ul> 
 
</div> 
 
</div> 
 
<!-- Cart --> 
 

 
<div class = "container-fluid"> 
 
<form method = "GET" action = "deletecartproduct.php"> 
 
\t <div class = "col-md-9"> 
 
\t \t <table class = "table table-responsive table-hover"> 
 
\t \t \t <tr> 
 
\t \t \t \t <th>Delete</th> 
 
\t \t \t \t <th>Item Name</th> 
 
\t \t \t \t <th>Item Price</th> 
 
\t \t \t \t <th>Image</th> 
 
\t \t \t </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)){ 
 
\t \t echo "<tr>"; 
 
\t \t echo "<td>" .'<input type="checkbox" name="products[]" value='.$products['prod_id'].'>'."</td>"; 
 
\t \t echo "<td>".$products['item_name']."</td>"; 
 
\t \t echo "<td>".$products['item_price']."</td>"; 
 
\t \t echo "<td>".$products['item_image']."</td>"; 
 
\t \t echo "</tr>"; 
 
} 
 
?> 
 
\t \t </table> 
 
\t \t <input type ="submit" class = "btn btn-danger" name = "delete_cart_item" value = "Delete"></form> 
 
\t </div> 
 
</div> 
 
<br><br><br><br><br> 
 
<!-- Footer Navigation --> 
 
<nav class="navbar navbar-default"> 
 
    <div class="container"> 
 
    <ul class ="list-unstyled"> 
 
\t \t \t <li class = "col-md-2"><h5><b>Call Us: (049) 557 2681</b></h5></li> 
 
\t \t \t <li class = "col-md-2"><h5><b><a href = "about.html"><font color = "black">About Us </b></h5></font></a></li> 
 
\t \t \t <li class = "col-md-2"><h5><b><a href = "contact.html"><font color = "black">Contact Us</b></h5></font></a></li> 
 
\t \t \t <li class = "col-md-2"><h5><b><a href = "privacy.html"><font color = "black">Privacy</b></h5></font></a></li> 
 
\t \t \t <li class = "col-md-2"><h5><b><a href = "#"><font color = "black">Terms of Service</b></h5></font></a></li> 
 
\t \t \t <li class = "col-md-2"><h5><b>Copyright (c) 2016<h5></li> 
 
\t </ul> 
 
    </div> 
 
</nav> 
 
<!-- 
 
Members: 
 
Marlon Mendoza 
 
--> 
 
</body> 
 
</html>

+0

ジェネリック機能とはどういう意味ですか?申し訳ありません初心者ここに。 –

+0

name = "action"&value = "add_to_cart"のボタン、および現在の製品のIDを含む非表示フィールドを含む、各製品のフォームフィールドの作成を検討する必要があります。そうすれば、その巨大な関数が必要なくなり、代わりにPHPスクリプトに渡される製品のIDを調べることができます。 –

+0

ショッピングカートのアイデアはhttp://www.peachpit.com/articles/article.aspx?p=1962481 – dimis283

答えて

1

あなたは原始的なセッション変数を使用しているありがとう:$_SESSION['prod_id']ではなく、配列でなければなりません。

追加する:あなたは次のことを行うことを検討すべきである$_SESSION['prod_ids']

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

カートを

に表示するにはどうすればcart.phpで使用できますか? これを使用できますか: include( "addtocartprocess。PHP "); $ PROD_ID = $ _SESSION [ 'prod_ids']; 、その後、私のSQL構文で は "PROD_ID = '$のPROD_ID'" product_tbl SELECT * FROM; が、私はそれを使用してみましたが、それはdidnの」 –

+0

@MarlonMendoza、どこかでurコードを投稿できますか、あなたのシナリオを正確に理解できません。 –

+0

ここに私のandroid.phpがあります(ここでアイテムを閲覧できます): https://gist.github.com /匿名/ 4d127e07e456d0655644e5ee293b4cf2 は、ここに私のaddtocartprocess.phpです: https://gist.github.com/anonymous/e78d6e2a0f96d18b54ec0763801cb1a5 、ここでは私のcart.phpは(どこのことができますカートに追加したアイテムを参照してください): https://gist.github.com/anonymous/a67abaaa3f2c0728a70c3e527335f474 カートに複数のアイテムを保管して表示する際に問題があります。 –

0

を更新し、製品がカートに追加/削除されたときに次に

$_SESSION['prod_ids'] = [];

はこのようにそれを初期化現在の製品の場合は、製品IDを含むHTMLの隠しフィールド。

<p>Price: 9,199 Php<br> 
<input class="btn btn-success" type="submit" name="action" value="add_to_cart"> 
<input type="hidden" name="product_id" value="1"> 
<span class="glyphicon glyphicon-shopping-cart"></span> 
</p> 

次に、あなたがこの

<?php 

if (session_status() == PHP_SESSION_NONE) { 
    session_start(); 
    $_SESSION['cart'] = array(); 
} 

$connection = mysql_connect("localhost", "root", ""); 

if(isset($_GET['add_to_cart'])){ 
    array_push($_SESSION['cart'], $_GET['product_id']; 
    header("location: ../" . $_GET['product_id'] . ".php"); 
} 

mysql_close($connection); 

にセッションオブジェクトを作成するときに、配列として$_SESSION['cart']を初期化する方法をお知らせしてPHPをリファクタリングすることができます。プロダクトIDを$_SESSION['cart']に割り当てる代わりに、アレイにプッシュすることができます。

リファクタリングヘッダーに設定したPHPファイルの名前をリファクタリングするか、ファイルの名前を含む隠しフィールドを追加します。

+0

私はこれを試してみましたが、テーブル内のアイテムを表示するには、必要な変数がわかりませんcart.php $ prod_id = $ _GET ['product_id']を使用する必要があります。 ? 私はそれを私のselectステートメントで必要とします。 "SELECT * FROM product_tbl where prod_id = $ prod_id"; –

0

カートに追加する1000の項目がある場合は、else文の場合は1000を書くことはできません。ループを使用してください。参考にしたい項目のサンプルコードを作成し、独自のロジックを使用して必要なものを作成します。幸せなコーディング。

check https://jsfiddle.net/qun3ajL9/ 
+0

リンクが機能していません –

関連する問題