首先是几个简单的登录页面
1 2 3 4 5 6 7 8 9 10 11 12 | <body>
<form action= "chuli.php" method= "post" >
<p style="margin-left: 500px; margin-top: 200px;
height: 250px; width: 250px; border: 1px dashed black">
<p style= "margin-left: 100px; " ><h3>登录</h3></p>
<p style= "margin-top: 20px" >用户名:<input type= "text" name= "uid" /></p><br/>
<p>密 码:<input type= "password" name= "pwd" /></p><br/>
<p style= "margin-left: 180px" ><input type= "submit" value= "登录" /></p>
</p>
</form>
</body>
|
登录后复制
登录页面写好之后,需要进入处理页面,从数据库中调出用户名和密码:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 | <?php
session_start();
header( "Content-type:text/html;charset=utf-8" );
$uid = $_POST [ "uid" ];
$pwd = $_POST [ "pwd" ];
include ( "DADB.class.php" );
$db = new DADB();
$sql = "select password from login where username='{$uid}'" ;
$arr = $db ->Query( $sql );
if ( $arr [0][0]== $pwd && ! empty ( $pwd ))
{
$_SESSION [ "uid" ]= $uid ;
header( "location:main.php" );
}
else
{
echo "登录失败" ;
}
|
登录后复制
这个显示的是登录页面
下面要进入主页面了,从数据库中把所有的水果信息调出来,然后我们再来实现加入购物车这一项功能
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 | <h2>大苹果购物网</h2>
<?php
session_start();
include ( "DADB.class.php" );
$db = new DADB();
?>
<table border= "1" width= "100%" cellpadding= "0" cellspacing= "0" >
<tr>
<td>代号</td>
<td>水果名称</td>
<td>水果价格</td>
<td>原产地</td>
<td>货架</td>
<td>库存量</td>
<td></td>
</tr>
<?php
$uid = $_SESSION [ "uid" ];
$sql = "select * from fruit" ;
$arr = $db ->Query( $sql );
foreach ( $arr 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>{ $v [5]}</td>
<td><a href='add.php?ids={ $v [0]}'>购买</a></td>
</tr>";
}
?>
<?php
$ann = array ();
if (! empty ( $_SESSION [ "gwc" ]))
{
$ann = $_SESSION [ "gwc" ];
}
$zhonglei = count ( $ann );
$sum =0;
foreach ( $ann as $k )
{
$sql1 = "select price from fruit where ids='{$v[0]}'" ;
$danjia = $db ->Query( $sql1 );
foreach ( $danjia as $n )
{
$sum = $sum + $n [0]* $k [1];
}
}
echo "购物车有<mark>{$zhonglei}</mark>种商品,总价格为<mark>{$sum}</mark>元" ;
?>
</table>
<p>
<a href= "gouwuche.php" >查看购物车</a>
<a href= "main.php" >浏览商品</a>
<a href= "zhanghu.php" >查看账户</a> </p>
</body>
|
登录后复制
主页面显示图
接下来是添加购物车页面
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 | <?php
session_start();
$ids = $_GET [ "ids" ];
if ( empty ( $_SESSION [ "gwc" ]))
{
$arr = array (
array ( $ids ,1)
);
$_SESSION [ "gwc" ]= $arr ;
}
else
{
$arr = $_SESSION [ "gwc" ];
$chuxian = false;
foreach ( $arr as $v )
{
if ( $v [0]== $ids )
{
$chuxian = true;
}
}
if ( $chuxian )
{
for ( $i =0; $i < count ( $arr ); $i ++)
{
if ( $arr [ $i ][0]== $ids )
{
$arr [ $i ][1]+=1;
}
}
$_SESSION [ "gwc" ] = $arr ;
}
else
{
$asg = array ( $ids ,1);
$arr [] = $asg ;
$_SESSION [ "gwc" ] = $arr ;
}
}
header( "location:gouwuche.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 | <h2>购物车中有以下商品:</h2>
<table cellpadding= "0" cellspacing= "0" border= "1" width= "100%" >
<tr>
<td>商品名称</td>
<td>商品单价</td>
<td>购买数量</td>
<td></td>
</tr>
<?php
session_start();
$arr = array ();
if (! empty ( $_SESSION [ "gwc" ]))
{
$arr = $_SESSION [ "gwc" ];
}
include ( "DADB.class.php" );
$db = new DADB();
foreach ( $arr as $v )
{
global $db ;
$sql = "select * from fruit where ids='{$v[0]}'" ;
$att = $db -> Query( $sql ,1);
foreach ( $att as $n )
{
echo "<tr>
<td>{ $n [1]}</td>
<td>{ $n [2]}</td>
<td>{ $v [1]}</td>
<td>
|
登录后复制
1 | <a href='shanchu.php?sy={ $k }'>删除</a></td>
|
登录后复制
1 | </tr> ";} } ?> </table> <p> <a href=" gouwuche.php ">查看购物车</a> <a href=" main.php ">浏览商品</a> <a href=" zhanghu.php">查看账户</a> </p> 14 15 </body>
|
登录后复制

紧接着我们就到了删除页面,当购物车只有一件商品和大于一件商品时做处理
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 | <?php
session_start();
$sy = $_GET [ "sy" ];
$arr = $_SESSION [ "gwc" ];
$arr [ $sy ];
if ( $arr [ $sy ][1]>1)
{
$arr [ $sy ][1] = $arr [ $sy ][1]-1;
}
else
{
unset( $arr [ $sy ]);
}
$_SESSION [ "gwc" ] = $arr ;
header( "location:gouwuche.php" );
|
登录后复制
至于提交页面,我们要想到余额,库存等因素,所以比较繁琐,
不i怕,上代码。
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 | <?php
session_start();
header( "Content-type:text/html;charset=utf-8" );
$uid = $_SESSION [ "uid" ];
include ( "DADB.class.php" );
$db = new DADB();
$ysql = "select account from login where username='{$uid}'" ;
$yarr = $db ->Query( $ysql );
$yarr [0][0];
$arr = array ();
if (! empty ( $_SESSION [ "gwc" ]))
{
$arr = $_SESSION [ "gwc" ];
}
$sum =0;
foreach ( $arr as $v )
{
$v [1];
$psql = "select price from fruit WHERE ids='{$v[0]}'" ;
$parr = $db ->Query( $psql );
foreach ( $parr as $k )
{
$k [0];
$sum += $k [0]* $v [1];
}
}
if ( $yarr [0][0]>= $sum )
{
foreach ( $arr as $v )
{
$ksql = "select number from fruit where ids='{$v[0]}'" ;
$karr = $db ->Query( $ksql );
$karr [0][0];
if ( $karr [0][0]< $v [1])
{
echo "库存不足" ;
exit ;
}
}
$kcsql = "update login set account=account-{$sum} where username='{$uid}'" ;
$db ->Query( $kcsql ,0);
foreach ( $arr as $v )
{
$kcksql = "update fruit set number=number-$v[1] where ids='{$v[0]}'" ;
$db ->Query( $kcksql ,0);
}
$ddh = date ( "YmdHis" );
$time = date ( "Y-m-d H:i:s" );
$sdd = "insert into orders values('{$ddh}','{$uid}','{$time}')" ;
$db ->Query( $sdd ,0);
foreach ( $arr as $v )
{
$sddxq = "insert into orderdetails values('','{$ddh}','{$v[0]}','{$v[1]}')" ;
$db ->Query( $sddxq ,0);
}
}
else
{
echo "余额不足" ;
exit ;
}
?>
|
登录后复制




实现功能是没问题的
以上是php实现购物车功能实例讲解的详细内容。更多信息请关注PHP中文网其他相关文章!