购物车以php原生cookie实现
index.php //入口文件
- <?php
- /**
- * @name index.php
- * @decs
- * @author 老猫 <18368091722@163.com>
- * Updated on: 2019/5/30 9:49
- */
- include "goods.php";
conn.inc.php //数据库连接常量设置
- <?php
- /**
- * @name conn.inc.php
- * @decs 数据库常量配置
- * @author 老猫 <18368091722@163.com>
- * Updated on: 2019/5/30 9:43
- */
- define("HOST",'13.232.50.253');
- define("USER",'liuyu');
- define("PWD",'94492474');
- define("DBNAME",'onecms');
mysqli.php //数据库连接
- <?php
- /**
- * @name mysqli.php
- * @decs 数据库连接
- * @author 老猫 <18368091722@163.com>
- * Updated on: 2019/5/30 9:44
- */
- include 'conn.inc.php';
- $mysqli=new mysqli(HOST,USER,PWD,DBNAME);
- if($mysqli->connect_errno){
- die('数据库连接出现错误,请检查配置'.$mysqli->connect_error);
- }
goods.php //商品展示
- <?php
- /**
- * @name goods.php
- * @decs
- * @author 老猫 <18368091722@163.com>
- * Updated on: 2019/5/30 9:46
- */
- header("Content-type:text/html;charset=utf-8");
- include "mysqli.php";
- ?>
- <div style='width:800px;float:none'>
- <h1>商品列表</h1>
- <!-- 显示当前系统时间-->
- <h3><p id="demo"></p>
- <script>
- var myVar=setInterval(function(){myTimer()},1000);
- function myTimer() {
- var d = new Date();
- document.getElementById("demo").innerHTML = d.toLocaleTimeString();
- }
- </script>
- </h3>
- <form method="get" action="">
- <table style="100%" border="1">
- <tr>
- <td>
- <select name="gid">
- <option value="0">请选择商品</option>
- <?php
- /**
- * @name show
- * @decs 无限级分类
- * 关联model:
- * @param $fid
- * @param $i
- * @author 老猫 <18368091722@163.com>
- * Updated on: 2019/5/30 10:12
- */
- function show($fid,$i)
- {
- global $mysqli;//全球变量关键字,将前面的变量作用域使其在函数内生效
- $sql = "select *from goodstype where fid=$fid";
- $result = $mysqli->query($sql);
- $str=" ";
- $i++;
- for($n=1;$n<$i;$n++) {
- $str .= "---";
- }
- $id=isset($_GET["gid"])?$id=$_GET["gid"]:"";
- ?>
- <?php
- while ($row = $result->fetch_assoc()) {
- ?>
- <option <?php if($id==$row['id']){echo "selected";}?> id="<?php echo $str.$row["classname"] ?>" value="<?php echo $row["id"] ?>">
- <?php echo $str.$row["classname"] ?>
- </option>
- <?php
- show($fid=$row["id"],$i);
- ?>
- <?php
- }
- }
- show(0,0);
- ?>
- <input id="select" type="submit" value="查询"></select></td></tr>
- </table>
- </form>
- </div>
- <div style="float: none;width: 600px">
- <?php
- $id=isset($_GET["gid"])?$id=$_GET["gid"]:"";
- if(!empty($id)){
- $sql="select *from goods where goodstypefid=$id or goodstypefstr like '%$id%' and checkinfo=1 and delstate=0";
- }else{
- $sql="select *from goods";
- }
- $result=$mysqli->query($sql);
- ?>
- <table border="1" cellpadding="3" cellspacing="0" width="60%">
- <tr bgcolor="skyblue">
- <?php
- while($row=$result->fetch_assoc()){
- ?>
- <td >
- <image width="200px" height="200px" src="<?php echo $row["picurl"]?>"></image>
- <a title="查看商品详细信息" href="goodsshow.php?id=<?php echo $row["id"]?>"><?php echo $row["title"]?></a>
- </td>
- <?php
- }
- ?>
- </tr>
- </table>
- </div>
goodsshow.php //商品详情页展示
- <?php
- /**
- * @name goodsshow.php
- * @decs
- * @author 老猫 <18368091722@163.com>
- * Updated on: 2019/5/30 10:15
- */
- header("Content-type:text/html;charset=utf-8");
- include "mysqli.php";
- ?>
- <?php
- $id=isset($_GET["id"])?$_GET["id"]:1;
- $sql="update goods set hits=hits+1 where id=".$id;
- $mysqli->query($sql);
- $sql="select *from goods where id=".$id;
- $result=$mysqli->query($sql);
- while($row=$result->fetch_assoc()){
- ?>
- <div>
- <span><?php echo $row["title"] ?></span>
- <hr>
- <image src="<?php echo $row["picurl"] ?>" width="200"></image>
- <br>
- 数量:-<input type="text" id="buynum" value="1">+
- 价格:
- <del>市场价:<?php echo $row["marketprice"] ?></del>
- 出售价:<i style="color: red"><?php echo $row["salesprice"] ?></i>
- <input type="hidden" id="id" value="<?php echo $row["id"] ?>">
- <hr>
- 内容:<?php echo $row["content"] ?><br>
- <a href="javascript:;" onclick="buynow()">立刻购买</a> <a href="javascript:;" onclick="addshoppingcart()">加入购物车</a>
- <?php
- }
- ?>
- </div>
- <script src="jquery.min.js"></script>
- <script>
- //立即购买
- function buynow(){
- //先添加到购物车再进行跳转到购买页面
- addshoppingcart("buy");
- }
- //添加到购物车
- function addshoppingcart(a){
- $.ajax({
- url:"shoppingcart.php?a=addshoppingcart",
- type:"post",
- data:{'buynum':$("#buynum").val(),'id':$("#id").val()},
- dataType:"html",
- success:function (data) {
- if(a=="buy"){
- location.href="shoppingcart.php?a=buynow";
- }else{
- if(data){
- alert("添加购物车成功!");
- }
- }
- }
- })
- }
- </script>
shoppingcart.php //购物车功能
- <?php
- /**
- * @name shoppingcart.php
- * @decs
- * @author 老猫 <18368091722@163.com>
- * Updated on: 2019/5/30 10:20
- */
- header("Content-type:text/html;charset=utf-8");
- include "mysqli.php";
- $a=isset($_GET["a"])?$_GET["a"]:"";
- //添加购物车
- if($a=="addshoppingcart"){
- $buynum=$_POST["buynum"];
- $id=$_POST["id"];
- // echo "<script>alert($buynum+$id)</script>";
- if(!empty($_COOKIE["shoppingcart"]))
- $shoppingcart=unserialize($_COOKIE["shoppingcart"]);
- else
- $shoppingcart=array();
- if(isset($id) && isset($buynum)){
- $id=intval($id);
- $buynum=intval($buynum);
- $shoppingcart[]=array($id,$buynum);
- }
- setcookie('shoppingcart',serialize($shoppingcart));//商品属性进行序列化保存到cookie中
- return true;
- }elseif($a=="buynow") {
- //下面写购物车页面
- if (!empty($_COOKIE["shoppingcart"])) {
- ?>
- <table width="36%" border="1" cellspacing="0" cellpadding="0">
- <tr bgcolor="#87ceeb">
- <td width="20%">商品ID</td>
- <td width="35%" height="30">商品名称</td>
- <td width="25%">购买数量</td>
- <td width="15%">价格</td>
- <td width="5%">操作</td>
- </tr>
- <tr>
- <td height="10" colspan="4"></td>
- </tr>
- <?php
- $totalprice = "";
- $shoppingcart = unserialize($_COOKIE["shoppingcart"]);
- foreach ($shoppingcart as $key => $value) {
- $keys = array($key);
- ?>
- <tr>
- <td><?php echo $value[0] ?></td>
- <td height="30">
- <?php
- $sql = "select *from goods where id=" . intval($value[0]);
- $result = $mysqli->query($sql);
- $row = $result->fetch_assoc();
- $totalprice += $row["salesprice"] * $value[1];
- echo '<a href="goodsshow.php?cid=' . $row['goodstypeid'] . '&id=' . $row['id'] . '" class="title" target="_blank">' . $row['title'] . '</a>';
- ?>
- </td>
- <td><?php echo $value[1] ?></td>
- <td><?php echo $row["salesprice"] * $value[1] ?></td>
- <td> <a href="shoppingcart.php?a=delone&key=<?php echo $key ?>" onclick="">取消</a></td>
- </tr>
- <?php
- }
- ?>
- </table>
- <hr>
- <span style="float: left;width: 250px;height: 150px">
- 总价格:<?php echo $totalprice ?><a href="">下一步</a> <a href="shoppingcart.php?a=empty">清空购物车</a>
- </span>
- <?php
- }
- }elseif($a=="delone"){
- $key=$_GET["key"];
- $shoppingcart=unserialize($_COOKIE["shoppingcart"]);
- unset($shoppingcart[$key]);
- if(empty($_COOKIE)){
- setcookie($shoppingcart,"",time()-3600);
- }elseif(empty($shoppingcart)){
- setcookie("shoppingcart",serialize($shoppingcart));
- echo "<div class='shoppingcartempty'>您的购物车目前没有商品!3秒后跳回首页......</div>";
- header("Refresh:3;url=goods.php");
- }else{
- setcookie("shoppingcart",serialize($shoppingcart));
- header("location:shoppingcart.php?a=buynow");
- }
- exit();
- }//清空购物车
- elseif($a=="empty"){
- //清除整个cookie保存的商品信息
- unset($_COOKIE["shoppingcart"]);
- setcookie("shoppingcart","",time()-3600);
- echo "<div class='shoppingcartempty'>您的购物车目前没有商品!3秒后跳回首页......</div>";
- header("Refresh:3;url=goods.php");
- }
以上摘自php中文网
购物车以php原生cookie实现的更多相关文章
- 工作任务:模拟淘宝登录和购物车功能:使用cookie记录登录名,下次登录时能够记得上次的登录名,使用cookie模拟购物车功能,使用session记住登录信息并验证是否登录,防止利用url打开网站,并实现退出登录功能
登入界面<% Cookie[] cks =request.getCookies(); String str=null; for(Cookie ck:cks) { if(ck.getName(). ...
- 购物车实现思路:cookie + 数据库
一.加入购物车 1.用户未登录 ==> 将商品id和商品数量存为数组 ==>序列化后存到cookie中 代码: if(!isset($_SESSION['uid'])){ if(empt ...
- 模拟淘宝登录和购物车功能:使用cookie记录登录名,下次登录时能够记得上次的登录名,使用cookie模拟购物车功能,使用session记住登录信息并验证是否登录,防止利用url打开网站,并实现退出登录功能
Login <%@ page language="java" contentType="text/html; charset=UTF-8" pageEnc ...
- 原生cookie
出于浏览器的安全性限制,从WEB应用程序中访问用户本地文件系统是有许多限制的.但是WEB站点的开发人员可以使用cookie,将少量信息保存在用户本地硬盘的指定空间中. document对象的cooki ...
- javascript 原生 cookie 处理
来自网络! function getCookie(name) { var start = document.cookie.indexOf(name + "="); var len ...
- Javascript 原生Cookie使用用法
var oCookie = { setCookie: function (name, value, expireDays, path, domain) { var expireDays = expir ...
- iphone原生cookie处理
可以使用NSURLConnection的类来执行HTTP请求,登录该网站,并检索的cookie. 要执行一个请求,只是创建一个NSURLConnection的实例,并分配给它的委托对象. NSURLR ...
- 创建Cookie,简单模拟登录,记录登录名,购物车记录先前添加内容,session控制登录
工作任务:模拟淘宝登录和购物车功能:使用cookie记录登录名,下次登录时能够记得上次的登录名,使用cookie模拟购物车功能,使用session记住登录信息并验证是否登录,防止利用url打开网站, ...
- 购物车存到cookie
为什么不存session? 首先,session存在时间限制,会定期清空的,而cookie如果不主动清或者设置定期则不会清楚: session存放在服务器端,cookie存放在客户端浏览器. 购物车存 ...
随机推荐
- python 绘制sinx
code import turtle import math turtle.speed() turtle.penup() turtle., * math.sin((-/) * * math.pi)) ...
- Docker容器常用命令汇总
Docker常用命令总结如下: # 查看docker详细信息 docker info # 获取当前节点所有容器 docker ps -a # 管理容器生命周期 docker [start|stop|r ...
- JavaWeb_(Hibernate框架)Hibernate中数据查询语句HQL基本用法
HQL(Hibernate Query Language) 是面向对象的查询语言, 它和 SQL 查询语言有些相似. 在 Hibernate 提供的各种检索方式中, HQL 是使用最广的一种检索方式. ...
- 如何简单的在linux上安装jdk并配置环境变量
这篇文章是为了给我一会自己安装的时候方便使用的,所以内容很简单,平时在wendows系统上安装很容易,但是换到linux系统上面就蒙圈了. 一.下载jdk文件 我这提供的是官方的地址:http://w ...
- IntelliJ IDEA-配置文件位置
关于配置文件的位置 一旦开始使用IDEA之后,就需要做很多的配置相关工作,使得IDEA越来越符合你的个人习惯,让你使用起来得心应手.而这些配置信息,都保存在C盘,比如我的就会默认保存在如图所示的位置 ...
- [Java]用 MessageFormat 拼接组合字符串
package com.hy; import java.text.MessageFormat; public class Test3 { public static void main(String[ ...
- git-本机内容git至github
1.修改仓库的名字 github中右上角/settings/Account: 修改后显示的变化: 2.本地和github账号创建联系 (base) localhost:~ ligaijiang$ ss ...
- C# WPF ASP.net 上传多文件和数据
C# WinForm 上传多文件和数据 public static class HttpHelper { private static readonly Encoding DEFAULTENCODE ...
- mybaits及mybaits generator 插件使用指南(亲测原创)
一. eclips安装mybaits插件 参考文章:http://www.cnblogs.com/zengsong-restService/archive/2013/08/09/3248245.htm ...
- 在Android初次的前期学习中的二个小例子(2)
Hello13:SQLite数据库 一.简述SQLite的概念和主要特性 SQLite是一个轻量级的关系型数据库,运算速度快,占用资源少,使用非常方便,支持SQL语法标准和数据库事务原则. 相对于Sh ...