僅用PHP4Session實現的迷你購物籃(二)_PHP教程

來源:互聯網
上載者:User
片段3。建立新的籃子並向其中增加一條項目
// 將項目計數設為1
$ses_basket_items=1;
// 填充4個數組的第0個位置,使用從href連結傳過來的值
// 連結是在‘給你的頁面增加連結’部分所講的
$ses_basket_name[0]=$basket;
$ses_basket_amount[0]=1;
$ses_basket_price[0]=$price;
$ses_basket_id[0]=$id;
// 在session中註冊新的籃子
session_register("ses_basket_items");
session_register("ses_basket_name");
session_register("ses_basket_amount");
session_register("ses_basket_price");
session_register("ses_basket_id");
?>
  這樣將建立一個籃子,將所以的值填在數組第0個位置上,並利用session註冊數組。一個籃子誕生了。
片段4。填充籃子
$basket_position_counter=0; //籃子中的位置
$double=0; //雙重入口標誌設為NO
if ($ses_basket_items>0){
// 檢查是否籃子包含的項目中有雙重入口
foreach ($ses_basket_name as $basket_item){
// 遍曆數組所包含的名字,檢查是否與從href所傳來的相配匹
if ($basket_item==$basket){
// 如果在籃子中已經有了一個項目,將flag設為1

$double=1;
// 記住項目的位置,將進行更新
$basket_position=$basket_position_counter;
}
$basket_position_counter++; //增加籃子中的實際位置
}
}
// 更新籃子
if ($double==1){
// 如果項目在你的籃子中已經存在則更新在$basket_position處理的數量和位置
$oldamount=$ses_basket_amount[$basket_position];
$ses_basket_amount[$basket_position]++;
$amount=$ses_basket_amount[$basket_position];
$oldprice=$ses_basket_price[$basket_position];
//更新價格
$newprice=($oldprice/$oldamount)*$amount;
$ses_basket_price[$basket_position]=$newprice;
}else{
// 如果它不在你的籃子中,則在數組末尾增加新的項目
$ses_basket_name[]=$basket;
$ses_basket_amount[]=1;
$ses_basket_price[]=$price;
$ses_basket_id[]=$id;
$ses_basket_items++;
}
?>
  太好了,現在你可以填充迷你購物籃並顯示它了。
將代碼片斷組織到一起
  讓我們將程式碼群組織到一起並且存為minibasket.inc。
// 記住在程式碼片段1中, 決定是不是要增加?
// 讓我們在這裡重複它
if ($basket!=""){
// 在這裡,項目將要加到籃中。讓我們檢查一下是否存在一個註冊過的籃子
if (session_is_registered("ses_basket_items")){
// 存在一個註冊過的籃子,將程式碼片段4放在這裡。
// 它增加項目到註冊過的籃子中,檢查重複記錄,更新它們或在數組的最後增加項目
} else {
// 不存在註冊過的籃子,將程式碼片段3放在這裡。它建立一個新的籃子,並且
// 通過session註冊它。
}
}
// 剩下的都是程式碼片段2。如果籃子中有物品時用於顯示它們。
// 加到這裡。
?>
  瞧,不錯吧。"cest tout", 法國人會這樣說。如果都做好了,你可以儲存這個檔案為minibasket.inc 並且將其包括到顯示商品的PHP頁面中。
Zip格式的minibasket.inc和basket.php

http://www.bkjia.com/PHPjc/532375.htmlwww.bkjia.comtruehttp://www.bkjia.com/PHPjc/532375.htmlTechArticle片段3。建立新的籃子並向其中增加一條項目 // 將項目計數設為1 $ses_basket_items=1; // 填充4個數組的第0個位置,使用從href連結傳過來的值 /...

  • 聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.