0%

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

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

購物車功能

  1. 購物車的功能我們使用 session 來完成,方法是當網址有 idqt兩個參數時,就把資料放入 session 中存起來。
    ./front/buycart.php

    1
    2
    3
    4
    5
    6
    //判斷是否有傳入id與qt
    if(isset($_GET['id']) && isset($_GET['qt'])){

    //建立一個session陣列cart來存放購物車內容
    $_SESSION['cart'][$_GET['id']]=$_GET['qt'];
    }
  2. ./front/buycart.php 中增加對會員登入的判斷,如果使用者是登入的狀況,則可以看到購物車的內容,如果使用者不是登入的狀況,則將使用者導向會員登入頁面

    1
    2
    3
    4
    5
    6
    //判斷使用者是否登入
    if(!isset($_SESSION['mem'])){

    //如果未登入則導向登入頁面
    to("?do=login");
    }
  3. 考量有一種狀況是登入的會員還沒有點選商品的 我要購買 按鈕,而是直接點選購物車連結過來,這時我們要排除購物車中沒有商品的狀況

    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
    //顯示購物車頁面的文字標題
    echo "<h2 class='ct'>{$_SESSION['mem']}的購物車</h2>";

    //判斷購物車是否為空
    if(empty($_SESSION['cart'])){
    //如果為空則顯示訊息
    echo "<h3 class='ct'>目前購物車是空的</h3>";
    }else{
    //如果購物車不是空的,則會顯示購物車的商品內容
    ?>
    <table class="all">
    <tr>
    <td class="tt ct">編號</td>
    <td class="tt ct">商品名稱</td>
    <td class="tt ct">數量</td>
    <td class="tt ct">庫存量</td>
    <td class="tt ct">單價</td>
    <td class="tt ct">小計</td>
    <td class="tt ct">刪除</td>
    </tr>
    <tr>
    <td class="pp"></td>
    <td class="pp"></td>
    <td class="pp"></td>
    <td class="pp"></td>
    <td class="pp"></td>
    <td class="pp"></td>
    <td class="pp">
    <img src="./icon/0415.jpg" alt="">
    </td>
    </tr>
    </table>
    <?php
    }
    ?>