PHP 购物车

login.php

<style type="text/css">
.biao
{
    padding-left:550px;
    padding-top:30px;
}
.div
{
    padding-left:500px;
    padding-top:20px;
}
.but
{
    padding-left:200px;
}
</style>
</head>

<body>
<div class="biao">
    <h1>登录页面</h1>
</div>
<div class="div">
<form action="loginchuli.php" method="post">
    <div>用户名:<input type="text" name="uid"/></div><br />
    <div>密码:&nbsp;&nbsp;<input type="password" name="pwd" /></div><br />
    <div class="but">
        <input type="submit" value="登录" />
    </div>
</form>
</div>

loginchuli.php

<?php
session_start();
include("../dbda.php");
$db=new DBDA();

$uid=$_POST["uid"];
$pwd=$_POST["pwd"];

//根据用户名查密码
$sql="select pwd from users where uid=‘{$uid}‘";
$mima=$db->strquery($sql);//用strquery直接返回密码

$sqlzt="select isok from users where uid=‘{$uid}‘";
$zt=$db->strquery($sqlzt);

//判断用户的输入是否为空
if($uid!=""&&$pwd!="")
{
    //判断输入是否正确
    if($pwd==$mima)
    {
        if($zt==1)
        {
        //把用户名存到session里面
        $_SESSION["uid"]=$uid;
        header("location:main.php");
        }
        else
        {
            echo"还未审核通过";
        }
    }
    else
    {
        echo"用户名或密码输入错误";
    }
}
else
{
    echo"用户名或密码不能为空";
}

main.php

<style type="text/css">
.z
{
    width:100%;
    margin-top:80px;}
.a
{
    width:200px;
     float:left;
    margin-top:35px;}
.a div
{
    height:50px;
    width:200px;
    line-height:50px;
    text-align:center;
    vertical-align:middle;}
.b
{
    width:1000px;
    float:left;}
.b1
{
    width:980px;
    height:35px;
    line-height:35px;
    vertical-align:middle;
    text-align:end;
}
a:link
{
    color:#009;
    text-decoration:none;}
a:visited
{
    color:#009;
    text-decoration:none;}
a:hover
{
    color:#F30;
    text-decoration:none;}
a:active
{
    color:#F30;
    text-decoration:none;}

</style>
</head>

<body>
<?php
session_start();

if(empty($_SESSION["uid"]))
{
    header("location:login.php");
    exit;
}
include("../dbda.php");
$db=new DBDA();

$sfruit="select * from fruit";
$afruit=$db->Query($sfruit);

$gouwuche=array();
if(!empty($_SESSION["gwc"]))
{
    $gouwuche=$_SESSION["gwc"];
}

//商品数量
$shuliang=count($gouwuche);
//总价
$zongjia=0;
foreach($gouwuche as $v)
{
    $sdanjia="select price from fruit where ids=‘{$v[0]}‘";
    $danjia=$db->StrQuery($sdanjia);
    $zongjia=$zongjia+$danjia*$v[1];
}
?>
<div class="z">
    <div class="a">
        <div><a href="main.php">浏览商品</a></div>
        <div><a href="zhanghu.php">查看账户</a></div>
        <div><a href="gouwuche.php">查看购物车</a></div>
    </div>
    <div class="b">
        <div class="b1">
            购物车中有:<?php echo $shuliang?>件商品,总价格为:<?php echo $zongjia?>元
        </div>
        <table width="100%" border="1" cellpadding="0" cellspacing="0">
            <tr height="35px" style="font-weight:bold; font-size:16px; text-align:center;">
                <td>代号</td>
                <td>名称</td>
                <td>价格</td>
                <td>产地</td>
                <td>库存</td>
                <td>操作</td>
            </tr>
            <?php
                foreach($afruit as $v)
                {
                    echo"<tr height=‘25px‘; style=‘text-align:center;‘>
                <td>{$v[0]}</td>
                <td>{$v[1]}</td>
                <td>{$v[2]}</td>
                <td>{$v[3]}</td>
                <td>{$v[4]}</td>
                <td><a href=‘goumai.php?code={$v[0]}‘>购买</a></td>
                        </tr>";
                }
            ?>
        </table>
    </div>
</div>

goumai.php

<?php
session_start();

$code=$_GET["code"];

if(empty($_SESSION["gwc"]))
{
    //第一次点击购买
    $attr = array(
    array($code,1)
    );

    $_SESSION["gwc"] = $attr;
}
else
{
    //已经点击过购买
    $attr = $_SESSION["gwc"];

    //判断该水果是否购买过
    $count = 0;//定义一个变量购买的次数
    foreach($attr as $v)
    {
        if($v[0]==$code)
        {
            $count++;
        }
    }
    //该水果在购物车中存在
    if($count>0)
    {
        foreach($attr as $k=>$v)
        {
            if($v[0]==$code)
            {
                $attr[$k][1] = $v[1]+1;
            }
        }
    }
    //该水果在购物车中不存在
    else
    {
        $anei = array($code,1);
        $attr[] = $anei;
    }

    //将修改的数组添加到session里面去
    $_SESSION["gwc"] = $attr;
}
header("location:main.php");

zhanghu.php

<style type="text/css">
.z
{
    width:100%;
    margin-top:100px;}
.a
{
    width:200px;
     float:left;}
.a div
{
    height:50px;
    width:200px;
    line-height:50px;
    text-align:center;
    vertical-align:middle;}
.b
{
    width:1000px;
    float:left;}
a:link
{
    color:#009;
    text-decoration:none;}
a:visited
{
    color:#009;
    text-decoration:none;}
a:hover
{
    color:#F30;
    text-decoration:none;}
a:active
{
    color:#F30;
    text-decoration:none;}

</style>
</head>

<body>
<?php
session_start();

if(empty($_SESSION["uid"]))
{
    header("location:login.php");
    exit;
}
include("../DBDA.php");
$db = new DBDA();

$uid=$_SESSION["uid"];

$syue="select account from login where username=‘{$uid}‘";
$yue=$db->StrQuery($syue);

?>
<div class="z">
    <div class="a">
        <div><a href="main.php">浏览商品</a></div>
        <div><a href="zhanghu.php">查看账户</a></div>
        <div><a href="gouwuche.php">查看购物车</a></div>
    </div>
    <div class="b">
        您的账户余额为:<?php echo $yue?>元
    </div>
</div>

gouwuche.php

<style type="text/css">
.z
{
    width:100%;
    margin-top:100px;}
.a
{
    width:200px;
     float:left;}
.a div
{
    height:50px;
    width:200px;
    line-height:50px;
    text-align:center;
    vertical-align:middle;}
.b
{
    width:1000px;
    float:left;}
.c
{
    width:200px;
    height:50px;
    line-height:50px;
    vertical-align:middle;
    text-align:center;
    margin-left:800px;}
a:link
{
    color:#009;
    text-decoration:none;}
a:visited
{
    color:#009;
    text-decoration:none;}
a:hover
{
    color:#F30;
    text-decoration:none;}
a:active
{
    color:#F30;
    text-decoration:none;}

</style>
<script src="../jquery-1.11.2.min.js"></script>
</head>

<body>
<?php
session_start();

if(empty($_SESSION["uid"]))
{
    header("location:login.php");
    exit;
}
include("../DBDA.php");
$db = new DBDA();

$attr = array();
if(!empty($_SESSION["gwc"]))
{
    $attr = $_SESSION["gwc"];
}
?>
<div class="z">
    <div class="a">
        <div><a href="main.php">浏览商品</a></div>
        <div><a href="zhanghu.php">查看账户</a></div>
        <div><a href="gouwuche.php">查看购物车</a></div>
    </div>
    <div class="b">
        <table width="100%" border="1" cellpadding="0" cellspacing="0">
            <tr height="35px" style="font-weight:bold; font-size:16px; text-align:center;">
                <td>名称</td>
                <td>单价</td>
                <td>数量</td>
                <td>操作</td>
            </tr>
            <?php
                foreach($attr as $v)
                {
                    $smcdj = "select * from fruit where Ids=‘{$v[0]}‘";
                    $sginfo = $db->Query($smcdj);

                    echo"<tr height=‘25px‘; style=‘text-align:center;‘>
                <td>{$sginfo[0][1]}</td>
                <td>{$sginfo[0][2]}</td>
                   <td>{$v[1]}</td>
                <td><a href=‘shanchu.php?code={$v[0]}‘>删除</a></td>
                        </tr>";
                }
            ?>
        </table>
        <div class="c">
            <a id="tj" href="tijiao.php">提交订单</a> <span id="xinxi"></span>
        </div>
    </div>
</div>
</body>
<script type="text/javascript">
$(document).ready(function(e){
    $("#tj").click(function(){

            var bs=false;

            $.ajax({
                async:false,
                url:"check.php",
                dataType:"TEXT",
                success: function(data){
                        if(data.trim()=="OK")
                        {
                            bs=true;
                        }
                        else
                        {
                            $("#xinxi").html(data);
                            $("#xinxi").css("color","red");
                        }
                    }
                });
            return bs;
        })
    });
</script>

shanchu.php

<?php
session_start();

$attr = $_SESSION["gwc"];
$code = $_GET["code"];

foreach($attr as $k=>$v)
{
    if($v[0]==$code)
    {
        //判断数量是否大于1
        if($v[1]>1)
        {
            $attr[$k][1] = $attr[$k][1]-1;
        }
        else
        {
            unset($attr[$k]);
        }
    }
}

$_SESSION["gwc"] = $attr;

header("location:gouwuche.php");

check.php

<?php
session_start();
include("../dbda.php");
$db=new DBDA();

//取出购物车信息
$gwc=$_SESSION["gwc"];
//去除登陆者的用户名
$uid=$_SESSION["uid"];
//总价
$zongjia=0;
foreach($gwc as $v)
{
    $sdanjia="select price from fruit where ids=‘{$v[0]}‘";
    $danjia=$db->StrQuery($sdanjia);
    $zongjia=$zongjia+$danjia*$v[1];
}
//余额
$syue="select account from login where username=‘{$uid}‘";
$yue=$db->StrQuery($syue);

if($yue>=$zongjia)
{
    //判断库存
    $dh="";

    foreach($gwc as $v)
    {
        //根据水果代号:$v[0]取到库存数量
        $skucun="select numbers from fruit where ids=‘{$v[0]}‘";
        $kuncun=$db->StrQuery($skucun);

        if($kuncun<$v[1])
        {
            $dh=$v[0];
            break;
        }
    }
    if($dh=="")
    {
        echo"OK";
    }
    else
    {
        $sname="select name from fruit where ids=‘{$dh}‘";
        $name=$db->StrQuery($sname);

        echo "{$name}库存不足";
    }
}
else
{
    echo"余额不足";
}

tijiao.php

<?php
session_start();

include("../dbda.php");
$db=new DBDA();

//取购物车信息
$gwc=$_SESSION["gwc"];
//取登陆者的用户名
$uid=$_SESSION["uid"];

//1.减余额
//总价
$zongjia=0;
foreach($gwc as $v)
{
    $sdanjia="select price from fruit where ids=‘{$v[0]}‘";
    $danjia=$db->StrQuery($sdanjia);
    $zongjia=$zongjia+$danjia*$v[1];
}

$sjian="update login set account=account-{$zongjia} where username=‘{$uid}‘";
$db->Query($sjian,0);
//2.减库存
foreach($gwc as $v)
{
    $skjian="update fruit set numbers=numbers-{$v[1]} where ids=‘{$v[0]}‘";
    $db->Query($skjian,0);
}
//3.添加订单信息
$ordercode=date("YmdHis");
$time=date("Y-m-d H:i:s");
$sdingdan="insert into orders values(‘{$ordercode}‘,‘{$uid}‘,‘{$time}‘)";
$db->Query($sdingdan,0);

//添加订单详情
foreach($gwc as $v)
{
        $sxiangqing="insert into orderdetails values(‘‘,‘{$ordercode}‘,‘{$v[0]}‘,‘{$v[1]}‘) ";
        $db->Query($sxiangqing,0);
}

header("location:main.php");
时间: 2024-08-01 06:55:13

PHP 购物车的相关文章

微信 小程序组件 加入购物车全套 one js

// pages/shop/shop.js Page({ /** * 页面的初始数据 */ data: { carts: [ { teaname: '冠军乌龙茶-150g', image: '../../imgs/car/shopping_pic_1.png', num: '1', price: '1200.00', sum: '1200.0', selected: true, cid: 1001, }, { teaname: '18年老茶-150g', image: '../../imgs/c

微信 小程序组件 加入购物车全套 one wxml

<!--pages/shop/shop.wxml--> <view wx:if="{{hasList}}"> <view class="container carts-list"> <view wx:key="isshop" wx:for="{{carts}}" class="carts-item" > <view class="carts-c

easymall项目的商品删除,前台商品分页,商品详情,购物车模块

简单的挑选一下昨天所学的重点知识模块,以备后续的复习 一.购物车模块1.1购物车两种实现的区别:!!!!!!!! 用session保存  缺点:浏览器关闭,session失效时保存在session中购物信息将会消失  后续优化,将购买的信息除了保存在session中以外,还要将购物的信息保存在cookie中,这样  就解决了浏览器关闭购买商品信息丢失的问题(但是解决不了跟换电脑信息丢失的问题)  优点:不用操作数据库,可以减少数据库访问压力 数据库中:  缺点:只用登录的用户才能添加购物车   

java web 开发 购物车功能的实现

为了方便自己以后复习,所以写的比较仔细,记录下自己的成长..... 既然是做购物车,那么前提条件是首先需要一系列商品,也就是要建一个实体,这里建了一个商品表. 通过查询在浏览器上显示 基本显示已经做好了,现在进入我们的重头戏,Servlet 点击放入购物车时,将访问Servlet 购物车代码 1 package com.servlet; 2 3 import java.io.IOException; 4 import java.io.PrintWriter; 5 import java.util

利用JSP编程技术实现一个简单的购物车程序

实验二   JSP编程 一.实验目的1. 掌握JSP指令的使用方法:2. 掌握JSP动作的使用方法:3. 掌握JSP内置对象的使用方法:4. 掌握JavaBean的编程技术及使用方法:5. 掌握JSP中数据库编程方法: 二.实验要求 : 利用JSP编程技术实现一个简单的购物车程序,具体要求如下. (1)用JSP编写一个登录页面,登录信息中有用户名和密码,分别用两个按钮来提交和重置登录信息. (2)编写一个JSP程序来处理用户提交的登录信息,如果用户名为本小组成员的名字且密码为对应的学号时,采用J

webform之session传值(临时数据的存储)与扩展属性 --(购物车练习)

页面传值:1.QueryString传值在源页面写:Response.Redirect("Main.aspx?uid="+uid+"&pwd="+pwd);在目标页面:Request["uid"].ToString();2.Session *****特点:可以存任何东西,每个用户都会生成一个特定的Session,Session是存储在服务中的,一般默认存储20分钟,20分钟之后过期用法:在登录页面:Session["uid&qu

购物车前端开发

作为一名不在软件公司工作的软件工程师,不仅要会写后台代码(PHP/JAVA/SQL...),还是兼顾前端工程师的工作(html/javascript/css...).下面就来分享一个在实际工作项目中使用到的购物车的前端开发. 这里分享的仅仅是针对购物车的操作(产品数量的增加减少,删除购物车中产品项),假设购物车中已经放有若干产品.闲话少说,先上两张效果图. HTML代码如下:这里使用到了JQuery1.11和bootstrap3 . <!DOCTYPE html> <html> &

实用的php购物车程序

实用的php教程购物车程序以前有用过一个感觉不错,不过看了这个感觉也很好,所以介绍给需要的朋友参考一下. <?php//调用实例require_once 'cart.class.php';session_start();if(!isset($_SESSION['cart'])) { $_SESSION['cart'] = new Cart;}$cart =& $_SESSION['cart']; if( ($_SERVER['REQUEST_METHOD']=="POST"

java web 程序---购物车选商品,购买,付款

虚函数使用的时机 为什么虚函数不总是适用? 1. 虚函数有事会带来很大的消耗: 2. 虚函数不总是提供所需的行为: 3. 当我们不考虑继承当前类时,不必使用虚函数. 必须使用虚函数的情况: 1. 当你想删除一个表面上指向基类对象,实际却是指向派生类对象的指针,就需要虚析构函数. java web 程序---购物车选商品,购买,付款,布布扣,bubuko.com

Python 购物车

Python 购物车 需求 用户名和密码存放于文件中,格式为:xxx|xxx 启动程序后,先登录,登录成功则让用户输入工资,然后打印商品列表,失败则重新登录,超过三次则退出程序 允许用户根据商品编号购买商品 用户选择商品后,检测余额是否够,够就直接扣款,不够就提醒 可随时退出,退出时,打印已购买商品和余额 流程图 Python代码实现 1 #! /usr/bin/env python 2 # -*- coding: utf-8 -*- 3 # 商城购物车 4 product_list = [ 5