在商品列表頁面中,每個商品旁需提供一個連結,讓使用者點擊即可將商品加入迷你購物籃。連結應指向目前頁面自身(使用 $PHP_SELF),並透過 GET 參數傳遞商品資訊(ID、價格、名稱)。例如商品「滑鼠」(ID=1、價格 25)的連結寫法如下:
<a href="?id=1&price=25&basket=Mouse">加入</a>
注意:商品名稱可能包含空格,建議將名稱參數放在連結最後,避免 GET 方法解析錯誤。
為了程式碼重用與維護方便,建立一個外部檔案 minibasket.inc(慣用 .inc 副檔名標示 include 檔)。在需要顯示購物籃的頁面處,以 引入即可。此檔案包含:
購物籃以簡易表格呈現,欄位含數量、商品名、單價,最後顯示總價。範例:
# 名稱 價格 1 滑鼠 25.00 3 遊戲 75.00 總計 100.00
可搭配外部 CSS 美化,但不宜過大,以免喧賓奪主。
$basket 變數是否為空。$ses_basket_items 大於 0,迴圈輸出每筆商品資料,並以 sprintf("%01.2f", $price) 格式化金額至小數點後兩位。unset() 所有相關 Session 陣列,防止殘留舊資料。<?php if ($basket !== "") { // 將商品加入購物籃 } ?>
<?php if ($ses_basket_items > 0) {
for ($i = 0; $i < $ses_basket_items; $i++) {
$price = sprintf("%01.2f", $ses_basket_price[$i]);
$amount = $ses_basket_amount[$i];
$name = $ses_basket_name[$i];
echo "$amount $name $price<br>";
}
} else {
$ses_basket_items = 0;
unset($ses_basket_name, $ses_basket_amount, $ses_basket_price, $ses_basket_id);
} ?>
目前購物籃尚無資料,下一步將實作「加入商品」的完整邏輯。