添加商品到购物车add_to_cart.php

<?php
		session_start();//启动session

		$goods_id = $_POST[‘goods_id‘];//获取商品id

		$number = $_POST[‘num‘];//获取商品数量

		if(empty($_SESSION["gwc"]))
		{

		    //1.购物车是空的,第一次点击添加购物车

		    $arr[$goods_id] =array(
		    				‘goods_id‘  =>	$goods_id,

		    				‘num‘  =>	$number

		    				);

		    $_SESSION["gwc"]=$arr;

		}
		else//_1 购物车不是空的
		{

		    //判断购物车中是否存在该商品

		    $arr = $_SESSION["gwc"]; //先存一下

		    $chuxian = false;

		    //2.查询购物车中是否有该商品,K是商品id,做个标记
		    foreach($arr as $k=> $v)
		    {

		        if($k==$goods_id)
		        {

		            $chuxian = true;

		        }

		    }

		// 3.购物车中已有该商品,则只需将它的数量增加
		    if($chuxian)
		    {

		    	$arr[$goods_id][‘num‘]+=$number;

		        $_SESSION["gwc"] = $arr;
		    }
		    else
		    {

		        //_3.如果购物车中没有该商品
		        $arr[$goods_id] = array(
		    				‘goods_id‘  =>	$goods_id,
		    				‘num‘  =>	$number
		    				);
		        $_SESSION["gwc"] = $arr;
		        // print_r($arr);
		        //  die();
		    }

		}

		echo "OK";
		// echo ‘<script language="JavaScript">;
  //         alert("加购成功!");location.href="#";</script>;‘;

  //         exit;

 // var_dump($_SESSION);

 //    die();

	?>

  一.首先要明白添加一件商品到购物车的状态有3种情况。

1.还没有购物车。

2.有购物车了,但加入购物车的商品是购物车没有的。

3.有购车了,加入购物车的商品在购物车也已经有了,那就值增加它在购物车的数量。

二.加入购物车页面需要传2个参数到php,商品id和加购的商品数量。在php前面几行就是接受那2个参数。

三.要开通session。第一行的seesion_start();否则存进session的信息是不起作用的。虽然在后面能var_dump()出来。但在购物车展示商品页面var_dump的session还是之前的。

四.这么多项的商品如何存进session?其实就是对session数组的增删改查操作。

session就是一个数组。只是它能跨页面访问。存进session,最终目的还是为了在别的页面能再次用到它。比如上面的代码把商品信息存到$_SESSION[‘gwc‘]中,就是为了在购物车页面能够再次获取$_SESSION[‘gwc‘],利用foreach循环把你存到$_SESSION[‘gwc‘]的商品遍历出来。

五.至于

 $arr[$goods_id] =array(
		    	‘goods_id‘  =>	$goods_id,
		    	‘num‘  =>	$number
		    				);这句代码为什么里面只存或要存这2个参数,这也是根据购物车页面展示时的要求来的,数量不难理解,你加购了几件就展示几件。id又到底是为什么要存进去,购物车展示的业务逻辑就是,根据商品id,然后从数据库中该id 的所有商品信息。即执行“select* form goods where id = 商品id”获得

原文地址:https://www.cnblogs.com/mzzone/p/11026965.html

时间: 2024-08-30 05:41:04

添加商品到购物车add_to_cart.php的相关文章

电商网站中添加商品到购物车功能模块2017.12.8

前言: 电商网站中添加商品到购物车功能模块实现: 根据前一篇博客的介绍,我们看到淘宝网站为了保证购物车数据的同步,直接是强制用户必须登录才可以将商品加入购物车.而京东网站是用户在未登录的状态下也可以将商品加入到购物车,此时这个是保存在了cookie中,然后用户登录后,根据商品的id判断商品是否存在,将两个购物车的商品合并,形成最终的购物车商品. 本篇文章分两个模块,分别看下这两个功能是如何实现的: 1.必须在用户登录的前提下,才可以将商品加入到购物车列表 我们今天先看下淘宝网站的状态下的添加商品

jQuery 特效之 添加商品到购物车

前台页面 <link href="MyCar.css" rel="stylesheet" /> <script src="../jquery.js"></script> <script> $(function () { $(".Car").click(function () { var path = $(".dh").attr("src")

【Selenium】利用Cookies登录京东并添加商品至购物车以及结算

import json import unittest from time import sleep from selenium import webdriver from selenium.webdriver.common.keys import Keys def get_JD_cookies(): browser = webdriver.Firefox() browser.maximize_window() browser.implicitly_wait(2) url = "https://

贝塞尔曲线实现的购物车添加商品动画效果

效果图如下: 1.activity_main.xml <?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/rly_bezier_curve_shopping_cart" android:layout_w

Vue 商城的一些小demo(后台添加商品、前台购物车、本地存储的使用)

demo   商城后台,添加一种商品 <!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <title></title> <!-- 引入vue.js --> <script src="js/vue.js"></script> </head> <body> <div id=&

作业二:优化购物车:用户入口:1.将商品的信息存到文件中;2.将已经购买的商品、余额记录存到文件中。商家入口:1.可以添加商品;2.可以修改商品的价格

#Author:AXIN #Date:2017/5/22 12:04 #优化版的购物车 #用户入口: #1.商品的信息存到文件里 #2.已购商品,余额记录 #商家入口: #1.可以添加商品 #2.修改商品价格 product_list = [ ('Iphone',5288), ('Mac pro',12000), ('Bike',800), ('Watch',36000), ('Coffe',39), ('Python book',120), ] #将商品信息打印到console窗口下 def

用户购物车,实现添加商品的功能!

一.接口和实现类 package com.aaa.dao; import java.util.List; import java.util.Map; public interface IProductDAO { List<Map<String,Object>> getAllProduct(); /** * 获得商品的id * @param pid * @return */ Map<String ,Object>getProduct(String pid); /** *

estore商城案例(二)------登录&amp;添加商品&amp;商品列表(下)

撸完了登录模块,接着撸商品添加,和商品列表模块: 先亮出数据库: 1 DROP TABLE IF EXISTS products; 2 CREATE TABLE products ( 3 id varchar(100) NOT NULL, 4 name varchar(100) DEFAULT NULL, 5 price double DEFAULT NULL, 6 category varchar(100) DEFAULT NULL, 7 pnum int(11) DEFAULT NULL,

ajax_典型应用_添加商品标题

ajax_典型应用_添加商品 1.设计思路 2.关键代码 <a href="addToCart?id=oracle&price=200">加入购物车 ShoppingCart.java Map<A,B> items = new HashMap<A,B>(); items.containsKey(bookName) $.getJSON(url,args,function(data){ }) void doGet(-){ doPost(-.) }