您好,登錄后才能下訂單哦!
小編給大家分享一下PHP中session實現購物車功能的案例,相信大部分人都還不怎么了解,因此分享這邊文章給大家學習,希望大家閱讀完這篇文章后大所收獲,下面讓我們一起去學習方法吧!
在wamp環境下,用PHP的session會話控制完成購物車的效果,數據存放在數組里練習,沒有連接數據庫,效果不錯,簡單易懂,以下是各部分的代碼
common.php
<?php header("content-type:text/html;charset=utf-8"); $arrPro = array( array('id'=>1,'img'=>'img/1.jpg','title'=>'小米移動電源5000mAh','price'=>49), array('id'=>2,'img'=>'img/2.jpg','title'=>'20000mAh小米移動電源2','price'=>149), array('id'=>3,'img'=>'img/3.jpg','title'=>'小米圈鐵耳機Pro','price'=>129), array('id'=>4,'img'=>'img/4.jpg','title'=>'小米家電動滑板車','price'=>1999), array('id'=>5,'img'=>'img/5.jpg','title'=>'小米筆記本','price'=>3499), array('id'=>6,'img'=>'img/6.jpg','title'=>'米家LED智能臺燈','price'=>169), array('id'=>7,'img'=>'img/7.jpg','title'=>'小米體重秤','price'=>99), array('id'=>8,'img'=>'img/8.png','title'=>'小米電視3s 48英寸','price'=>2599) );
index.php
<?php header("content-type:text/html;charset=utf-8"); require 'common.php'; session_start(); $sum = 0; $class = ""; //判斷左上角購物車的樣式顯示 if(!empty($_SESSION['shopcar'])){ $data = $_SESSION['shopcar']; $sum = array_sum($data[4]); $class = "on"; //右上角圓點 if(empty($data[0])){ $class = ""; } } ?> <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>商品展示</title> <style type="text/css"> section{ width:1032px; height: 700px; margin: 40px auto; } .top{ float: right; position: relative; width: 190px; height: 34px; border: 1px solid #ccc; margin-right: 32px; text-align: center; line-height: 34px; border-radius: 4px; transition: all .3s linear; -moz-transition: all .3s linear; -webkit-transition: all .3s linear; } .top a{ color: #d00; } .top:hover{ width: 210px; color: #fff; font-weight: bold; background-color: #d00; border-radius: 6px; } .top:hover a{ color: #fff; } .top:hover span{ background-color: #fff; color: #d00; } .top:hover .star{ right:150px; top: 0; font-size: 14px; color: #ff0; transform: rotate(1080deg); } .top span{ position: absolute; top:2px; right: 40px; width: 18px; height: 18px; font-weight: bold; border-radius: 9px; line-height: 18px; text-align: center; font-size: 12px; font-weight: border; color: #fff; } .star{ color: #fff; font-size: 48px; font-style: normal; position: absolute; right:530px; top:186px; transform: rotate(60deg); transition: all .3s ease; } .on{ background-color: #e00; } .list{ margin: 20px 20px; padding: 36px 0; list-style: none; } a{ display: block; color: #757575; text-decoration: none; } .list li{ float: left; height: 246px; width: 234px; padding: 10px 0 20px; margin-right:12px; margin-top: 20px; border: 1px solid #ccc; background: #fff; -webkit-transition: all .2s linear; transition: all .2s linear; } .list li:hover{ box-shadow: 2px 4px 5px #aaa; } .figure{ width: 150px; height: 150px; margin: 0 auto 18px; } .title{ color: #222; font-size: 14px; font-weight: normal; text-align: center; } .price{ margin: 0 10px 10px; text-align: center; color: #ff6700; } .cart{ margin: 0 15px 5px; text-align: center; } .cart a{ color: #a34; width: 190px; height: 24px; border-radius: 4px; margin: 0 8px 5px; text-align: center; } .cart a:hover{ color: #eee; box-shadow: 0 2px 1px #333,0 2px 1px #666; background-color: #ccc; background-image: linear-gradient(#33a6b8,#0089a7) } .num{ text-align: center; color: #ff6700; } </style> </head> <body> <section> <p class='top'> <a href="spcar.php" rel="external nofollow" >我的購物車</a><span class="<?php echo $class;?>"><?php echo $sum;?></span> <em class='star'>★</em> </p> <ul class="list"> <?php foreach ($arrPro as $key => $value):?> <li> <p class="figure"> <a href=""><img src=" rel="external nofollow" <?php echo $value['img'];?>" width="150" height="150" alt="小米移動電源5000mAh"></a> </p> <h4 class="title"> <a href=""><?php echo $value['title'];?></a> </h4> <p class="price"><span class="num">¥<?php echo $value['price'];?></span></p> <p class='cart'><a href="action.php?id=<?php echo $value['id'];?>" rel="external nofollow" >加入購物車</a></p> </li> <?php endforeach;?> </ul> <p style='clear:both'></p> </section> </body> </html>
action.php
<?php if(!empty($_GET['id'])){ require 'common.php'; session_start(); $id = $_GET['id']; //把所選ID的商品信息遍歷出來 foreach ($arrPro as $key => $value) { if($id == $value['id']){ $arrData = $arrPro[$key]; } } //用一個新的二維數組把商品信息存起來 $arrDatax[0][$arrData['id']] = $arrData['id']; $arrDatax[1][$arrData['id']] = $arrData['img']; $arrDatax[2][$arrData['id']] = $arrData['title']; $arrDatax[3][$arrData['id']] = $arrData['price']; $arrDatax[4][$arrData['id']] = 1; //判斷是否有SESSION存在,有則在數組后添加,沒有則直接存 if(empty($_SESSION['shopcar'])){ $_SESSION['shopcar'] = $arrDatax; header('Location:index.php'); }else{ //第一次購物之后的購物 //重新取出來,防止數據覆蓋 $arrDataz = $_SESSION['shopcar']; if(in_array($id,$arrDataz[0])){ $arrDataz[4][$arrData['id']] += 1; $_SESSION['shopcar'] = $arrDataz; header('Location:index.php'); }else{ $arrDataz[0][$arrData['id']] = $arrData['id']; $arrDataz[1][$arrData['id']] = $arrData['img']; $arrDataz[2][$arrData['id']] = $arrData['title']; $arrDataz[3][$arrData['id']] = $arrData['price']; $arrDataz[4][$arrData['id']] = 1; $_SESSION['shopcar'] = $arrDataz; header('Location:index.php'); } } }else{ echo "購物車沒有商品!"; }
spcar.php
<?php if(!empty($_GET['id'])){ require 'common.php'; session_start(); $id = $_GET['id']; //把所選ID的商品信息遍歷出來 foreach ($arrPro as $key => $value) { if($id == $value['id']){ $arrData = $arrPro[$key]; } } //用一個新的二維數組把商品信息存起來 $arrDatax[0][$arrData['id']] = $arrData['id']; $arrDatax[1][$arrData['id']] = $arrData['img']; $arrDatax[2][$arrData['id']] = $arrData['title']; $arrDatax[3][$arrData['id']] = $arrData['price']; $arrDatax[4][$arrData['id']] = 1; //判斷是否有SESSION存在,有則在數組后添加,沒有則直接存 if(empty($_SESSION['shopcar'])){ $_SESSION['shopcar'] = $arrDatax; header('Location:index.php'); }else{ //第一次購物之后的購物 //重新取出來,防止數據覆蓋 $arrDataz = $_SESSION['shopcar']; if(in_array($id,$arrDataz[0])){ $arrDataz[4][$arrData['id']] += 1; $_SESSION['shopcar'] = $arrDataz; header('Location:index.php'); }else{ $arrDataz[0][$arrData['id']] = $arrData['id']; $arrDataz[1][$arrData['id']] = $arrData['img']; $arrDataz[2][$arrData['id']] = $arrData['title']; $arrDataz[3][$arrData['id']] = $arrData['price']; $arrDataz[4][$arrData['id']] = 1; $_SESSION['shopcar'] = $arrDataz; header('Location:index.php'); } } }else{ echo "購物車沒有商品!"; }
delete.php
<?php session_start(); if(!empty($_GET['id'])){ $arrData = $_SESSION['shopcar']; //判斷對應的商品ID信息 if(in_array($_GET['id'],$arrData[0])){ unset($arrData[0][$_GET['id']]); unset($arrData[1][$_GET['id']]); unset($arrData[2][$_GET['id']]); unset($arrData[3][$_GET['id']]); unset($arrData[4][$_GET['id']]); $_SESSION['shopcar'] = $arrData; } header('Location:spcar.php'); }
以上是PHP中session實現購物車功能的案例的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。