0%

[技能檢定]題組四 步驟19 製作前台購物車機制

購物功能我們切成兩個部份來製作,一個是會員登入及註冊,一個則是登入後的購物功能,題目在這邊的描述並不是很清楚,簡單來說,就是購物車的功能必須是登入的會員才能看到及使用的,如果不是登入的會員則會被導引去進行會員註冊或登入。

購物車功能

  1. 先前在 /controller/User.php 中的 login() 方法已經增加了一個session變數,用來紀錄使用者登入的狀況
  2. 購物車的功能我們使用 session 來完成,方法是當網址有 idqt兩個參數時,就把資料放入 session 中存起來。
    ./view/front/buycart.php
    1
    2
    3
    4
    //根據get參數是否帶上商品id及數量來決定是否要把商品放進購物車中
    if(isset($_GET['id']) && isset($_GET['qt'])){
    $_SESSION['cart'][$_GET['id']]=$_GET['qt'];
    }
  3. ./view/front/buycart.php 中增加對會員登入的判斷,如果使用者是登入的狀況,則可以看到購物車的內容,如果使用者不是登入的狀況,則將使用者導向會員登入頁面
    1
    2
    3
    4
    5
    6
    if(!isset($_SESSION['user'])){
    to("?do=login");

    //增加exit()可以確保後面的程式不再執行,不加exit()也可以
    exit();
    }
  4. 考量有一種狀況是登入的會員使沒有點選 我要購買 按鈕,而是直接點選購物車連結過來,這時我們要排除購物車中沒有商品的狀況
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    echo "<h1 class='ct'>{$_SESSION['user']}的購物車</h2>";

    if(isset($_SESSION['cart']) && !empty($_SESSION['cart'])){

    //進行購物車顯示....

    }else{
    echo "<h2 class='ct'>你的購物車中目前沒有商品,請前往賣場購買</h2>";
    }