亚洲免费在线视频-亚洲啊v-久久免费精品视频-国产精品va-看片地址-成人在线视频网

您的位置:首頁技術文章
文章詳情頁

僅用PHP4 Session實現的迷你購物籃(一)

瀏覽:2日期:2023-12-30 13:19:01
介紹 如果你還沒有用PHP 實現你自已的購物籃,在讀完這篇文章之后你應該可以創建一個了。甚至你可能已經有了一個購物籃,我在這里所提供的一些技巧可能會幫助你改善你的系統。 我將給你一些提示,關于如何去做也許才能減少對購物籃表的無限的查詢,或減少無限的文本文件填充你的文件系統,因為應用程序只會做但不會刪除它們。 如果你對這類的題目是個新手,不要害怕。它實際上相當簡單和有效,你只需要一個支持php4的主機,象notepad或vi之類的html編輯器,你寶貴的幾分種,和這個小例子。 想法 在1998年,我有一個在硬件商店工作的朋友要求我為他們編寫一個在線商店。需要快速和簡單,同時還要有在線管理。當我發著39度高燒的時候我變得想當有創建力,所以我用perl寫了那個東西,使用minisql作為后端。在整個處理中我插入了我所提到的迷你購物籃。 這個迷你購物籃與平常的購物車只有很小的不同,它會在每一頁顯示你的購物車的東西,不需要在放入一件東西后在購物車來回跳轉。這就是我寫這篇文章的初衷。 目標 人們喜歡控制,那么為什么不給他們些透明度,以便讓他們相信擁有了控制?這個迷你購物籃演示了一個完美的方法:它提供給人們所必須的信息,并且節省了他們一次點擊,接近了在線商店的3擊范例。 所以,目標就是在任何時候將這個迷你購物籃顯示為你的頁面上的一部分,在結尾處提供一個摘要用以修改購物籃中的物品,接著在最后發送一個訂單。 要求 你應該知道什么是session。如果不知道,這里有一個快速的綱要。已經有很多文章關于這個話題,你可以從中找到所有你需要的代碼例子。在你的開始頁面打開一個session,使用 <?php session_start(); ?> 這樣將創建一個session名字和一個session id。你現在既可以使用缺省的通過基于cookie的設置session的方式,通過一個表單來傳遞session id,或把它作為一個變量附在你的鏈接上(get方法)的方法。不要忘記在最后釋放session。:) 你的商品應該有一個名字,價格和唯一標識,以便能用在這個例子中,如果不這樣,你可能需要做一點修改。這里我使用mysql作為后端以便建立頁面及其它,為了讓購物能工作這不是必須的。:) 你應該了解數組。現在如果有人有時間利用我的代碼并且創建一個它的類,我理所當然地要感激得到它。 定義 為了簡化這個例子,我使用了四個獨立的數組和一些額外的變量。代碼可以被優化。這樣可以很容易地顯示想法和閱讀代碼。可以使用類更好的完成,但是我不能十分肯定是否能夠把對象保存到session 里。有人想對此發表評論嗎? 我們還需要一個項目計數器。當然可以使用count() 命令來實現,我只不過認為它足夠好,以便總能知道有多少的項目,并且它也為循環提供了一個好的計數器。 工作 讓我們假設在你的HTML頁中有一個商品列表 ID Name Price 1 Mouse 25.00 add 2 Key 100.00 add 3 Car 5000.00 add 4 Game 25.00 add 向你的頁面增加鏈接 上面的'add'字段應該是一個鏈接,用來將商品放到迷你購物籃中。使用$PHP_SELF將這個鏈接指向它自已。然后向它增加商品信息。這里是商品1的例子。 <A HREF="<?echo $PHP_SELF;?>?id=1&price=25&basket=Mouse">add</A> 商品的名稱能夠包含空格,所以將它放在鏈接的最后。Get方法好象對這個很挑剔。 準備迷你購物籃 為了代碼重用,讓我們創建一個額外的文件minibasket.inc。我使用.inc擴展名來標識我的包括文件。 使用這個外部文件的原因是,盡管你將使用session變量來傳遞給購物籃,代碼仍然需要有效。這個文件將 包含顯示迷你購物籃的代碼,也包話增加項目的函數。實現它的最好的地方是將 <?php include ("minibasket.inc"); ?> 命令放在你需要的地方。 minibasket.inc的邏輯 花些時間考慮一下這個。迷你購物籃應該是個什么樣子,它需要些什么特性?這里顯示的迷你購物籃應 該看上去象這樣: # Name Price 1 Mouse 25.00 3 Game 75.00 Total 100.00 你可以很容易的通過使用一個外部樣式表格式化這個輸出。可是,它不應該太大。這個迷你購物籃是一 個信息,然而它不應該成為你所顯示頁面的焦點。 這個文件的邏輯非常簡單。 檢查是否需要增加一個新的項目。 如果true,增加項目 在加入中,它要檢查復重的記錄,通過更新數量和價格來更新存在的記錄。 片段1。檢查將要增加的新的項目 這是一個正常的IF語句,用于檢查$basket變量的值。 <?php if ($basket!=""){ //向籃子中加入項目 } ?> 片段2。在瀏覽器中顯示籃子 <?php if ($ses_basket_items>0){ // 如果在籃子中有項目 for ($basket_counter=0;$basket_counter<$ses_basket_items;$basket_counter++){ // 遍歷籃子,打印出每一行 // 你當然可以用格表來格式化顯示 // 需要通過格式化來顯示價格的分值。如果沒有格式化,則.00是不會顯示出來的 $price=sprintf("%01.2f",$ses_basket_price[$basket_counter]); $amount=$ses_basket_amount[$basket_counter]; $name=$ses_basket_name[$basket_counter]; echo "$amount $name $price"echo "<BR>n"} } else { // 在籃子中沒有商品 // 設置項目計數為0,且清除所有的變量 // 這是一個清除處理。它防止人們得到舊的數組 $ses_basket_items=0; unset($ses_basket_name); unset($ses_basket_amount); unset($ses_basket_price); unset($ses_basket_id); } ?> 這段代碼不會產生任何結果。項目還沒有被填充,籃子總是空的,所以籃子不會被顯示。那么讓我們向這個籃子中加些項目吧。
標簽: PHP
主站蜘蛛池模板: 亚洲国产天堂久久综合网站 | 日一区二区 | 日韩国产免费 | 欧美性性性性性色大片免费的 | 欧美在线看欧美高清视频免费 | 久久久久久综合一区中文字幕 | 仑乱高清在线一级播放 | 国产成人丝袜视频在线视频 | 国产美女作爱 | 亚洲欧美男人天堂 | 免费视频成人国产精品网站 | 成人18免费网站在线观看 | 亚洲第一区精品日韩在线播放 | 自拍偷拍欧美视频 | 日本妞xxxxxxxxx69 | 国产美女一区精品福利视频 | 欧美成人手机视频免费播放 | 亚洲欧美国产精品专区久久 | 男人操美女逼视频 | a级欧美片免费观看 | 成人观看视频又黄又免费 | 韩国一级黄色大片 | 日本a级片免费看 | 91久久精品青青草原伊人 | 日本欧美亚洲 | 白白在线观看永久免费视频 | 亚洲在线免费免费观看视频 | 国产成人福利美女观看视频 | 国产精品成人免费 | 看v片 | 亚洲性久久 | 日韩国产精品99久久久久久 | 日本s色大片在线观看 | zztt40.su黑料不打烊官网 | 国产精品手机在线 | 成人毛片免费 | 欧美成人免费公开播放 | 久久免费国产精品一区二区 | 男人扒开腿躁女人j | 久草在线资源视频 | 免费观看欧美成人禁片 |