文章詳情頁
僅用PHP4 Session實現的迷你購物籃(二)
瀏覽:34日期:2023-12-30 14:04:30
片段3。創建新的籃子并向其中增加一條項目 <?php // 將項目計數設為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。填充籃子 <?php $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。 <?php // 記住在代碼片段1中, 決定是不是要增加? // 讓我們在這里重復它 if ($basket!=""){ // 在這里,項目將要加到籃中。讓我們檢查一下是否存在一個注冊過的籃子 if (session_is_registered("ses_basket_items")){ // 存在一個注冊過的籃子,將代碼片段4放在這里。 // 它增加項目到注冊過的籃子中,檢查重復記錄,更新它們或在數組的最后增加項目 } else { // 不存在注冊過的籃子,將代碼片段3放在這里。它創建一個新的籃子,并且 // 通過session注冊它。 } } // 剩下的都是代碼片段2。如果籃子中有物品時用于顯示它們。 // 加到這里。 ?> 瞧,不錯吧。"c'est tout", 法國人會這樣說。如果都做好了,你可以保存這個文件為minibasket.inc 并且將其包括到顯示商品的PHP頁面中。 Zip格式的minibasket.inc和basket.php
標簽:
PHP
排行榜
