購物功能我們切成兩個部份來製作,一個是會員登入及註冊,一個則是登入後的購物功能,題目在這邊的描述並不是很清楚,簡單來說,就是購物車的功能必須是登入的會員才能看到及使用的,如果不是登入的會員則會被導引去進行會員註冊或登入。
購物車功能
- 先前在
/controller/User.php
中的login()
方法已經增加了一個session變數,用來紀錄使用者登入的狀況 - 購物車的功能我們使用
session
來完成,方法是當網址有id
和qt
兩個參數時,就把資料放入session
中存起來。
./view/front/buycart.php1
2
3
4//根據get參數是否帶上商品id及數量來決定是否要把商品放進購物車中
if(isset($_GET['id']) && isset($_GET['qt'])){
$_SESSION['cart'][$_GET['id']]=$_GET['qt'];
} - 在
./view/front/buycart.php
中增加對會員登入的判斷,如果使用者是登入的狀況,則可以看到購物車的內容,如果使用者不是登入的狀況,則將使用者導向會員登入頁面1
2
3
4
5
6if(!isset($_SESSION['user'])){
to("?do=login");
//增加exit()可以確保後面的程式不再執行,不加exit()也可以
exit();
} - 考量有一種狀況是登入的會員使沒有點選
我要購買
按鈕,而是直接點選購物車連結過來,這時我們要排除購物車中沒有商品的狀況1
2
3
4
5
6
7
8
9
10echo "<h1 class='ct'>{$_SESSION['user']}的購物車</h2>";
if(isset($_SESSION['cart']) && !empty($_SESSION['cart'])){
//進行購物車顯示....
}else{
echo "<h2 class='ct'>你的購物車中目前沒有商品,請前往賣場購買</h2>";
}