ajax开发:Ajax + PHP session制作购物车

购物车网页代码,具体内容如下

1.登录界面login.php

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
< html xmlns = "http://www.w3.org/1999/xhtml" >
< head >
< meta http-equiv = "Content-Type" content = "text/html; charset=utf-8" />
< script src = "../jquery-1.11.2.min.js" ></ script >
< title >无标题文档</ title >
</ head >
 
< body >
< div >用户名:< input type = "text" id = "uid" /></ div >
< div >密码:< input type = "text" id = "pwd" /></ div >
< input type = "button" value = "登录" id = "btn" />
</ body >
< script type = "text/javascript" >
$("#btn").click(function(){
   var uid = $("#uid").val();
   var pwd = $("#pwd").val();
   $.ajax({
       url:"loginchuli.php",
       data:{u:uid,p:pwd},
       type:"POST",
       dataType:"TEXT",
       success: function(data){
         if(data.trim()=="OK")
         {
           window.location.href="main.php" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" ;
         }
         else
         {
           alert("用户名或密码错误");
         }
       }
     })
   })
</ script >
</ html >

2.登录处理页面loginchuli.php

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
<?php
session_start();
 
include ( "../DBDA.class.php" );
$db = new DBDA();
$uid = $_POST [ "u" ];
$pwd = $_POST [ "p" ];
$sql = "select password from login where username='{$uid}'" ;
$mm = $db ->StrQuery( $sql );
if ( $mm == $pwd && $pwd != "" )
{
   $UserName = $_POST [ "uid" ];
   $_SESSION [ "uid" ]= $uid ;
   echo "OK" ;
}
else
{
   echo "NO" ;
}

3.主页面main.php

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
<?php
session_start();
include ( "../DBDA.class.php" );
$db = new DBDA();
?>
 
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd" >
<html xmlns= "http://www.w3.org/1999/xhtml" >
<head>
<meta http-equiv= "Content-Type" content= "text/html; charset=utf-8" />
<title>无标题文档</title><br />
<style type= "text/css" >
.list{ width:100%; height:30px; margin-top:10px; text-align:center; line-height:30px; vertical-align:middle}
</style>
</head>
<body>
<div style= "width:100%; height:100px; background-color:#6CC" >
   <h1 style= "float:left" >大苹果商城</h1>
   <a style= "float:right; margin-top:40px" href= "zhuxiao.php" >注销</a>
</div>
<br />
<div style= "width:100%; height:600px" >
   <div id= "left" style= "width:20%; float:left" >
     <a href= "main.php" ><div class = "list" >浏览商品</div></a>
     <a href= "zhanghu.php" ><div class = "list" >查看账户</div></a>
     <a href= "gouwuche.php" ><div class = "list" >查看购物车</div></a>
   </div>
   
   <div id= "right" style= "width:80%; float:left" >
 
<?php
   $agwc = array ();
   if (! empty ( $_SESSION [ "gwc" ]))
   {
     $agwc = $_SESSION [ "gwc" ];
   }
   $zhonglei = count ( $agwc );
   $sum = 0;
   foreach ( $agwc as $v )
   {
     $sql = "select price from fruit where ids='{$v[0]}'" ;
     $danjia = $db ->StrQuery( $sql );
     $sum = $sum + $danjia * $v [1];
   }
   echo "<div>购物车中有:{$zhonglei}种商品,总价格为:{$sum}元.</div>" ;
   ?>
 
     <table width= "100%" border= "1" cellpadding= "0" cellspacing= "0" >
     <tr>
       <td>代号</td>
       <td>水果名称</td>
       <td>水果价格</td>
       <td>源产地</td>
       <td>库存量</td>
       <td>操作</td>
     </tr>
 
  <?php  
     $sql = "select * from fruit" ;
     $attr = $db ->Query( $sql );
     
     foreach ( $attr as $v )
     {
       echo "<tr><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>
 
</body>
</html>

4.购买处理页面goumai.php

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
<?php
session_start();
$code = $_GET [ "code" ];
 
if ( empty ( $_SESSION [ "gwc" ]))
{
   //第一次点击购买
   $attr = array (
     array ( $code ,1)
   );
   $_SESSION [ "gwc" ] = $attr ;
}
else
{
   //不是第一次点击购买
   $attr = $_SESSION [ "gwc" ];
   $bs =0;
   foreach ( $attr as $k => $v )
   {
     if ( $v [0]== $code )
     {
       $bs =1;
       $attr [ $k ][1] = $attr [ $k ][1]+1;
     }
   }
   //如果没有在数组里面出现
   if ( $bs ==0)
   {
     $shuzu = array ( $code ,1);
     $attr [] = $shuzu ;
   }
   
   $_SESSION [ "gwc" ]= $attr ;
   
}
header( "location:main.php" );

5.订单处理页面,计算选取水果的总价,和水果剩余量。dingdan.php

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
<?php
session_start();
include ( "../DBDA.class.php" );
$db = new DBDA();
$uid = $_SESSION [ "uid" ];
$attr = array ();
if (! empty ( $_SESSION [ "gwc" ]))
{
   $attr = $_SESSION [ "gwc" ];
}
//看下两个条件是否都满足
$bs = true;
 
//判断余额是否满足
   //根据用户名找余额
   $syue = "select account from login where username='{$uid}'" ;
   $yue = $db ->StrQuery( $syue );
   
   //根据购物车数组取总金额
   $sum = 0;
   foreach ( $attr as $v )
   {
     $sql = "select price from fruit where ids='{$v[0]}'" ;
     $danjia = $db ->StrQuery( $sql );
     $sum = $sum + $danjia * $v [1];
   }
   if ( $yue < $sum )
   {
     $bs = false;
     echo "YEBUZU" ;
     exit ;
   }
   
//判断库存是否满足
 
foreach ( $attr as $v )
{
   $skucun = "select name,numbers from fruit where ids='{$v[0]}'" ;
   $akucun = $db ->Query( $skucun );
   if ( $akucun [0][1]< $v [1])
   {
     $bs = false;
     echo "{$akucun[0][0]}库存不足!" ;
     exit ;
     
   }
}
 
//添加订单,减库存,减余额
 
if ( $bs )
{
   //减库存
   foreach ( $attr as $v )
   {
     $sql = "update fruit set numbers = numbers-{$v[1]} where ids='{$v[0]}'" ;
     $db ->Query( $sql ,0);
   }
   
   //减余额
   $jianyue = "update login set account=account-{$sum} where username='{$uid}'" ;
   $db ->Query( $jianyue ,0);
   
   //添加订单
   $dingdanhao = $uid + date ( "YmdHis" );
   $t = time();
   
   $sorder = "insert into orders values('{$dingdanhao}','{$uid}','{$t}')" ;
   $db ->Query( $sorder ,0);
   
   foreach ( $attr as $v )
   {
     $sxq = "insert into orderdetails values('','{$dingdanhao}','{$v[0]}','{$v[1]}')" ;
     $db ->Query( $sxq ,0);
   }
}
 
echo "OK" ;

6.购物车页面

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
<? php
session_start();
?>
 
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
< html xmlns = "http://www.w3.org/1999/xhtml" >
< head >
< meta http-equiv = "Content-Type" content = "text/html; charset=utf-8" />
< title >无标题文档</ title >< br />
< style type = "text/css" >
.list{ width:100%; height:30px; margin-top:10px; text-align:center; line-height:30px; vertical-align:middle}
</ style >
< script src = "../../jquery-1.11.2.min.js" ></ script >
</ head >
 
< body >
< div style = "width:100%; height:100px; background-color:#6CC" >
   < h1 style = "float:left" >大苹果商城</ h1 >
   < a style = "float:right; margin-top:40px" href = "zhuxiao.php" >注销</ a >
</ div >
< br />
< div style = "width:100%; height:600px" >
   < div id = "left" style = "width:20%; float:left" >
     < a href = "main.php" >< div class = "list" >浏览商品</ div ></ a >
     < a href = "zhanghu.php" >< div class = "list" >查看账户</ div ></ a >
     < a href = "gouwuche.php" >< div class = "list" >查看购物车</ div ></ a >
   </ div >
   
   < div id = "right" style = "width:80%; float:left" >
     < table width = "100%" border = "1" cellpadding = "0" cellspacing = "0" >
     < tr >
       < td >商品名称</ td >
       < td >商品单价</ td >
       < td >购买数量</ td >
       < td >操作</ td >
     </ tr >
 
<? php
     include("../DBDA.class.php");
     $ db = new DBDA();
     $ attr = array ();
     if(!empty($_SESSION["gwc"]))
     {
       $attr = $_SESSION["gwc"];
     }
     
     foreach($attr as $k=>$v)
     {
       $sql = "select name,price from fruit where ids='{$v[0]}'";
       $ashuiguo = $db->Query($sql);
     
       echo "< tr >< td >{$ashuiguo[0][0]}</ td >< td >{$ashuiguo[0][1]}</ td >< td >{$v[1]}</ td >< td >< a href = 'shanchu.php?sy={$k}' >删除</ a ></ td ></ tr >";
       
     }
     
     ?>
 
     </ table >
     < div id = "tj" >提交订单</ div >< div id = "ts" ></ div >
   </ div >
</ div >
 
< script type = "text/javascript" >
$("#tj").click(function(){
     $.ajax({
         url:"dingdan.php",
         dataType:"TEXT",
         success: function(data){
             if(data.trim()=="OK")
             {
               alert("购买成功");
             }
             else if(data.trim()=="YEBUZU")
             {
               $("#ts").html("余额不足");
               $("#ts").css("color","red");
             }
             else
             {
               $("#ts").html(data);
               $("#ts").css("color","red");
             }
           }
       });
   })
</ script >
</ body >
</ html >

7.购物车页面删除处理页面shanchu.php

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
<? php
session_start();
 
$sy = $_GET["sy"];
 
$attr = $_SESSION["gwc"];
 
if($attr[$sy][1]>1)
{
   $attr[$sy][1] = $attr[$sy][1]-1;
}
else
{
   unset($attr[$sy]);
   $attr = array_values($attr);
}
$_SESSION["gwc"]=$attr;
 
header("location:gouwuche.php");
 
8.账户余额页面zhanghu.php
 
 
<? php
session_start();
$uid = $_SESSION['uid'];
?>
 
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
< html xmlns = "http://www.w3.org/1999/xhtml" >
< head >
< meta http-equiv = "Content-Type" content = "text/html; charset=utf-8" />
< title >无标题文档</ title >< br />
< style type = "text/css" >
.list{ width:100%; height:30px; margin-top:10px; text-align:center; line-height:30px; vertical-align:middle}
</ style >
</ head >
< body >
< div style = "width:100%; height:100px; background-color:#6CC" >
   < h1 style = "float:left" >大苹果商城</ h1 >
   < a style = "float:right; margin-top:40px" href = "zhuxiao.php" >注销</ a >
</ div >
< br />
< div style = "width:100%; height:600px" >
   < div id = "left" style = "width:20%; float:left" >
     < a href = "main.php" >< div class = "list" >浏览商品</ div ></ a >
     < a href = "zhanghu.php" >< div class = "list" >查看账户</ div ></ a >
     < a href = "gouwuche.php" >< div class = "list" >查看购物车</ div ></ a >
   </ div
   < div id = "right" style = "width:80%; height:150px; float:left" >
 
<? php
     include("../DBDA.class.php");
     $ db = new DBDA();
     $ sql = "select Account from login where UserName='{$uid}'" ;
     $result = $db->strQuery($sql);
     
     echo ("您的账户中还剩余".$result);
   ?>
 
   </ div >
</ div >
 
</ body >
</ html >
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值