A. 推薦一本學習php5的好書
1. Core PHP Programming, 3rd Edition
這本書是PHP專家Leon Atkinson和PHP創始人之一Zeev Suraski合著的。國內有
第2版,講PHP4的,但這本第3版還買不到。學校圖書館有一本原版,可惜只有一本
(現在在我手裡,咔咔)。講得非常全面,做為Web編程方面的知識,幾乎全部包括
了。最有價值的是Part 4,講Software Enginerring的,介紹了設計、效率與調試,
還介紹了四種最常用的設計模式,非常有參考價值。可惜畢竟是03年的書,那時候
PHP5還在開發中,所以裡面有一些內容並不完全適合現在的PHP5,比如名字空間(
PHP5並不支持名字空間)。不過瑕不掩瑜,做為PHP5的一本綜合書籍,這本書非常
經典,可以用於入門,也可以用於提高。
2. PHP5 Power Programming
這本書是PHP的另一創始人Andi Gutmans寫的,專門針對PHP5。個人感覺這本書
不適合學習,但很適合提高時參考。裡面花了大量篇幅講述PHP5的面向對象機制,
不過基本上跟Core PHP Programming重復,所以看過Core後再看這些將很快,可以
當成溫故一遍。還有一章介紹了PHP5里的高級面向對象特性,如迭代器,反射API(
Reflection API,在其它面向對象語言里稱自省),也介紹了設計模式。
可惜的是,跟上面一本書一樣,都是只講PHP特性的書,具體到PHP高級應用的
實戰講得感覺比較欠缺,像MVC模式,兩本書都沒講到,而這些對PHP高級編程來說是
非常重要的。比較令人安慰的是這本書還介紹了很多PHP高級特性,像PEAR包,APC,
APD,Xdebug,還有Zend Studio的使用,等等,這些還是非常有價值的。
總之,這是一本很適合提高時使用的書籍,跟Core一樣,也是PHP書籍中的經典。
3. PHP and MySQL Web Development, 3rd Edition
這是國內唯一能買到的PHP5書籍,中文翻譯,但翻譯質量不怎麼樣,有些句子
讀起來莫名其妙。這本書比較適合初中級的PHP學習,而且非常實際,有很多基本應
用的實例,很適合入門。除了資料庫知識很不錯外,裡面也講到了使用PHP和MySQL
開發中等項目時所需要考慮到的問題,介紹了很多基本的軟體項目管理方法,非常
實用。後面幾章是一些實例,介紹了購物車(我最不喜歡這東西),郵件列表,內容
管理系統和論壇的編寫,不過都只是基礎,沒有高級技巧,所以看起來會覺得很不舒
服,呵呵。
裡面有一張泛泛地講到了電子商務安全,可以參考下。個人感覺相當不錯的內容
是MySQL部分,基本涵蓋了資料庫基礎和MySQL基礎及高級特性,但限於篇幅,沒有去
講得很深入,權當是入門指引了。
因為是國內能買到的,所以很多人可能會喜歡從這本書開始學PHP5,我覺得也不
錯。總之很推薦這本書。
4. Essential PHP Security
這是一本講述PHP編碼安全的書,非常需要引起PHP開發人員的重視。我覺得這是
一本必讀書籍,讀過後會讓你冒冷汗。現在注重安全編碼的人實在太少了,對於一個
專業的PHP程序員,PHP安全特性絕對要爛熟於胸,而這本書就提供了一個非常好的視
角。
5. PHP Architect's Guide to PHP Design Patterns
這本書我正在看,對於PHP5面向對象的學習絕對非常有幫助。裡面介紹了非常多
的設計模式,直接以PHP語言實現出來,可以讓你一步到位使用模式思想。第17章介
紹了PHP里的MVC模式,可以說是帶了個好頭,很有參考價值。
由於還沒看完,所以不敢多評價,但可以肯定的是,這本書對於學PHP5面向對象
高級編程的人來說是絕對必備的。
國內有中文版,phpchina社區翻譯的,可以下載過來參考下。另外,好像關於
PHP設計模式的書又出了一本,叫做《PHP5: Objects, Patterns and Practice》,
可惜我Google了半天也找不到下載地址,只能作罷了,希望以後能找到。可以肯定這
又將是一本讓人振奮的書。
又將是一本讓人振奮的書。
最後想說明的是,Oreilly的PHP書就不用看了,包括PHP創始人Rasmus Lerdorf寫的
《Programming PHP》(現在好像出第2版了),講得東西基本上全是PHP手冊里的東
西,沒必要重復浪費時間。像《Learning PHP5》,《PHP Cookbook》之類,說實話
我個人感覺真的只是PHP手冊的子集。最近好像又出了本同樣可以看成是子集的書,
書名是《Learning PHP and MySQL》,看了一眼就沒看了。不是對Oreilly有偏見,
只是因為它的書全是入門級的,沒什麼含金量,屬於看過就扔的那種。想想K&R的
《The C Programming Language》吧,呵呵。
最最後想說明的是,PHP手冊,一定要反復看!這個是學PHP最重要的參考資料,每個
人都應該有一本以備不時之需。有中文翻譯版的,不過裡面的鏈接有錯誤,看起來不
是很方便,但多摸索幾次就能把鏈接弄對了。
大概就講這些了,只是我個人觀點,希望大家指點批評,共同進步。
B. 【高分】急求用php寫的購物車代碼!!!!!(十萬火急)如果您提供的好用還有加分!!!
我也要弄一個這種購物車,
我去寫個,貼出來,【嘿嘿,今天上午新寫的】。
我懶得新建資料庫,用的是我的資料庫。
你按照我的改一下就能用了
本人水平有限,高手請指正。
你,大,爺的,雖然不咋地,保證能用
、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、
經過調試,
//$my->add_cart(45,3,"茶幾系列");//新增購物
//$my->updata_cart(13,13,8); //更新購物
//$my->del_cart(12,5,'Guest'); //刪除一種購物
//$my->empty_cart('Guest'); //清空購物車
$ok=$my->get_cart('Guest'); //返回購物車
這些都可用
-------------------------------------------------------------------
<?php
class Cart
{
public $totalCost=0; //商品總金額
function cart($host,$usr,$pwd,$db)
{
mysql_connect($host,$usr,$pwd) or die(mysql_error);
mysql_select_db($db) or die(mysql_error);
mysql_query("SET Names GBk");
//只要有人訪問,就自動清除一天前所有沒付款的訂單;
$sql="delete FROM shopcart WHERE TO_DAYS( NOW( )) - TO_DAYS( ptime ) >=1 and payment=0";
mysql_query($sql);
}
// 彈出提示
function alter($Str,$Url)
{
echo "<Script language='javaScript'> alert('".$Str."');</Script>";
echo "<meta http-equiv=refresh content=0;URL=".$Url.">";
}
//增加購物;三個參數:pid:產品ID,ptl:產品數量,pcid:產品類別
//查詢資料庫,是否存在此人在本日內訂過本產品
//如果訂過,那麼數量累加,否則插入一個資料庫行
function add_cart($pid,$ptl=1,$pcid)
{
if($ptl>=100 || $ptl<=0)
{
$this->alter("最多買99件,最少1件","index.php");
die();
}
if(!$_SESSION['usr']) { $usr='Guest';}
else { $usr=$_SESSION['usr'];}
$sql="select * from shopcart where pid='".$pid."' and usr='".$usr."' and pcid='".$pcid."'";
$ex=mysql_query($sql);
$ex1=mysql_fetch_array($ex);
if(!$ex1)
{
$sql="select * from proct where ID='".$pid."' and class1='".$pcid."'";
$ok=mysql_query($sql);
$rs=mysql_fetch_array($ok);
if($rs)
{
$totalCost= $rs['Price'] * $ptl;
$sql="insert into shopcart(usr,pid,pname,ptl,price,pcid,psum,payment) Values(";
$sql.="'".$usr."',";
$sql.="'".$rs['ID']."',";
$sql.="'".$rs['Name']."',";
$sql.="'".$ptl."',";
$sql.="'".$rs['Price']."',";
$sql.="'".$rs['Class1']."',";
$sql.="'".$totalCost."',";
$sql.="'0')";
mysql_query($sql) or die(mysql_error());
if($ok) { $this->alter("購物成功","index.php"); }
else { $this->alter("購物失敗","index.php"); }
}
else
{
$this->alter("不存在的商品,或者參數錯誤","index.php");
die();
}
}
else
{
$sql="update shopcart set ptl= ptl+1,psum = psum+price where ID='".$ex1['ID']."'";
mysql_query($sql);
$this->alter("更新數量成功","index.php");
}
}
//更新購物車的單個產品的數量;
function updata_cart($cid,$ptl,$pid)
{
if($ptl>=100||$ptl<=0)
{
$this->alter('產品數量不對!','index.php');
die();
}
$sql="select * from shopcart where ID='".$cid."' and pid='".$pid."'";
$ok=mysql_query($sql);
if(!ok) { alter("參數發生錯誤","index.php");}
else
{
$sql="update shopcart set ptl='".$ptl."',psum=price * '".$ptl."' where ID='".$cid."' and pid='".$pid."'";
$ok=mysql_query($sql);
if(!ok) { $this->alter("更新失敗","index.php");}
else { $this->alter("更新成功","index.php");}
}
}
function del_cart($cid,$pid,$usr)
{
$sql="delete from shopcart where usr='".$usr."' and ID='".$cid."' and pid='".$pid."'";
$ok=mysql_query($sql);
if(!$ok) {$this->alter("刪除失敗","index.php");}
else {$this->alter("刪除成功","index.php");}
}
function empty_cart($usr)
{
$sql="delete from shopcart where usr='".$usr."'";
mysql_query($sql) or die(mysql_error);
}
function get_cart($usr)
{
$sql="select * from shopcart where usr='".$usr."'";
$ok=mysql_query($sql);
return $ok;
}
}
$my = new Cart("localhost","root","root","mybbs");
//$my->add_cart(45,3,"茶幾系列");
//$my->updata_cart(13,13,8);
//$my->del_cart(12,5,'Guest');
//$my->empty_cart('Guest');
$ok=$my->get_cart('Admin');
echo "usr pid pname ptl price pcid psum payment ptime <br><hr><br>";
while($rs=mysql_fetch_array($ok))
{
echo $rs[1]."->".$rs[2]."->".$rs[3]."->".$rs[4]."->".$rs[5]."->".$rs[6]."->".$rs[7]."->".$rs[8]."->".$rs[9]."<br>";
}
?>
、、、、、、、、、、、、、、、、、SQL、、、、、、、、、、、、、、
CREATE TABLE IF NOT EXISTS `shopcart` (
`ID` int(10) NOT NULL auto_increment,
`usr` varchar(50) NOT NULL,
`pid` int(5) NOT NULL,
`pname` varchar(100) NOT NULL,
`ptl` int(3) NOT NULL,
`price` decimal(50,2) NOT NULL default '0.00',
`pcid` varchar(100) NOT NULL,
`psum` decimal(50,2) NOT NULL default '0.00',
`payment` tinyint(1) NOT NULL,
`ptime` timestamp NOT NULL default CURRENT_TIMESTAMP,
PRIMARY KEY (`ID`)
)
proct 裡面用的ID CLASS1是
`ID` int(6) NOT NULL auto_increment,
`Class1` varchar(20) NOT NULL,
`Price` int(6) NOT NULL,
C. 急急急啊
摘要:網上書店是近年來隨著網路技術的發展而產生的一種新型的圖書銷售形式,是Internet電子商務在圖書銷售行業發展的必然結果。本文較詳細的論述了網上書店管理系統的設計和實現問題。 關鍵詞:ASP 網上書店 購物車 B/S模式 隨著Internet的普及和電子商務的興起,網上書店是Internet電子商務在圖書銷售行
業發展的必然結果。這種新型的圖書銷售形式,與傳統利用書店進行銷售的方式相比擁有許多優勢:一是降低了銷售成本;二是利用網路作為交易平台,改變傳統的交易方式,使得交易活動不受空間和時問的限制;三是信息的傳遞更迅速靈活,新書信息上傳後,客戶可以立即看到,交易馬上可以從網上進行,從而大大提高了交易的效率。正是由於這些優勢,網上書店才能得以迅速地發展。網上書店系統的主要功能是利用網站作為交易平台,將圖書的一些基本信息以網站的形式發布到Internet中,客戶可以通過Internet登錄圖書銷售網站來查看售書信息並提交定單訂購圖書,實現在線進行交易。
1、系統功能介紹
1.1基本功能介紹用戶根據指定的IP地址或域名進入系統的首頁。先注冊,成為合法的用戶後,再登陸。用戶通過下拉列表框選擇查詢方式,有書名、出版社和作者。然後在對應的文本框中輸入關鍵字,點擊「查詢「按鈕,系統顯示滿足條件的圖書的基本信息。用戶點擊對應圖書的「加入購物車」即可把圖書加入購物車,通過購物車向商家提供訂單信息。商家定期對客戶的訂單信息進行處理,並把相應的信息反饋給客戶。系統根據訂單信息,統計圖書的銷售情況,在首頁中顯示圖書的銷售排行。
1.2功能模塊介紹
1.2.1用戶管理用戶有三種,普通用戶、商家、系統管理員。普通用戶必須先注冊,才能進行圖書的查詢、瀏覽、定購、信息反饋等操作。商家需要注冊,並且要得到系統管理的審批和確認,主要功能是對圖書的基本信息進行管理。系統管理員是系統唯一的超級用戶,不需要注冊,對系統進行維護,同時還對普通用戶和商家的基本信息進行管理。
1.2.2圖書管理圖書管理模塊是由商家來操作,包括添加、刪除和修改圖書的書名、出版社、價格、作者、簡介、數量等基本信息。
1.2.3購物車管理使用購物車的目的是用來存放用戶定購圖書的名稱、數量以及總價。當用戶在圖書顯示的頁面中,點擊「加入購物車」超級連
<優麥電子商務論文>接時,系統會把當前「加入購物車」所對應的圖書的書名、價格、數量等信息添加到購物車中,默認圖書的數量為1本。在瀏覽購物車頁面,用戶可以對圖書的數量進行修改,也可刪除購物車中的圖書信息,系統根據用戶購買圖書的數量和價格,計算出總價。
1.2.4留言管理對於系統的合法的用戶,均可系統提供的留言版上留言,留言信息一旦提交,其刪除和修改只能由管理員來完成。
2、系統相關技術
本系統是通過ASP技術來實現的基於B/S結構的網上圖書銷售系統,因此本系統的前台頁面以及對後台的管理是通過HTML、ASP兩種技術來實現的。其中包含HTML標記語言、內嵌的VB seript和JavaScript腳本代碼、SQL語句,而後台資料庫使用Access來構建。B/S結構,即Browser/Server(瀏覽器/伺服器)結構。此結構是隨著Internet技術的興起,對C/S結構的一種變化或者改進。在這種結構下,用戶僅需要安裝瀏覽器。用戶界面完全通過瀏覽器實現,一部分事物邏輯在前端實現,但是主要事物邏輯在伺服器端實現,形成C/S結構的3層結構方式來銷售圖書功能。
3、網上書店管理系統設計與實現
3.1項目規劃網上書店管理系統是一個典型的JSP資料庫開發應用程序,由前台管理和後台網站管理兩部分組成。前台管理部分主要包括圖書展台、購物車、收銀台、會員管理、書城公告及訂單查詢、圖書查詢等功能,後台管理部分主要對書城內的一些基礎數據進行有效管理,包括後台登錄、圖書設置、會員設置、訂單設置、後台管理員設置、友情鏈接設置、公告設置等功能。
3.2系統架構設計和類的分布架構設計在編寫代碼之前,把網站中可能用到的文件夾先創建出來,方便以後的開發工作,也可以規范網站的整體架構,整個網站功能的實現利用到Servlet技術,基本上是以「類」的形式實現。
3.3購物車的實現用PHP內嵌的Session(會話)對象並編寫相應的PHP應用程序來實現購物車功能。Session對象主要用來存儲特定用戶會話所需的信息,用它可以克服協議沒有「記憶」功能的缺點,可以實現在頁面間跳轉時所有信息不會丟失。購物車具備的主要功能有:顯示已購圖書信息、添加圖書、更改購買數量、取消某圖書、取消此次定購、結算,其中每次定購信息修改後還要自動更新相應的計價信息。
3.4結算客戶在購物車頁面上點擊了「結算」按鈕後,就出現了結算頁面,在結算頁面上也提供了一個「查看購物車」按鈕,以便客戶在結算前再次查看所選購的圖書及花費的情況。另外,還要求客戶填寫一些必要的信息,如客戶的會員代號、收貨人、收貨人地址、送貨方式、支付方式等。如果收貨人和收貨地址欄空著,則自動使用客戶注冊時提供的姓名和地址。信息填寫完畢,點擊「提交」按鈕,系統就對客戶所提供的信息進行正確合法性檢查,檢查通
過後,馬上向伺服器端的資料庫中添加相關信息,即在定單表中添加一條記錄,在定單明細表中添加一條或若干條記錄。
3.5收集客戶信息為能實現正常的交易,我們必須知道客戶的一些信息,比如收貨人姓名、收貨人地址、收貨人電話、收貨人Email、送貨日期等。為了收集這些信息,我們設計了用戶注冊界面,利用FORM表單的POST方法將客戶信息傳送到伺服器,存入相應的資料庫中。當然在此之前應對用戶注冊信息進行合法性檢查。
3.6網上支付要讓客戶能夠從網上付款,書店的經營者必須事先與銀行聯系,申請網上支付功能。通過銀行審批後,客戶就可以憑自己的信用卡號或銀行賬號進行網上付款。為了保證操作的安全性,還必須依靠數字憑證、數字簽名、加密等手段來保證信息傳輸的安全性和可靠性。
參考文獻:
[1]張中秋等.網上購物系統曲設計與實施[M].計算機應用研究,2002.8
[2]鄧文淵,陳惠貞,陳俊榮.ASP與網路資料庫技術[M].中國鐵道出版社,2006.
《科技探索 》 2010年5期
D. 商城網站源碼是用PHP開發的好用嗎
最近了解到目前,隨著電子商務產業的快速發展,網上商城系統成本低,速度快等優勢為眾多企業帶來了機遇,營銷功能豐富,商品系統完善,用戶體驗良好。 那麼php商城系統開源的主要特徵是什麼?
1,php開源商城系統更方便
PHP程序快速開發,運行速度快,技術本身可以快速學習。嵌入HTML:因為PHP可以嵌入HTML語言,所以它與其他語言相關。編輯簡單,實用,然後滿足企業發展需要的功能,或增加企業的新需求;
2,php開源商城系統適應性強
選擇開源商城系統,公司可以訪問源代碼,可以根據自己的意願修改開源商城系統,降低此類風險,因為在開源社區中會有不斷的維護和更新流。因此,受到各行各業中小企業的歡迎和廣泛使用,使開源商城軟體的適應性更強;
3,php開源商城系統強大的跨平台
由於PHP是伺服器端腳本,因此它可以在UNIX,LINUX,WINDOWS,iOS和Android等平台上運行;
4,php開源商城系統效率更高
效率是每個用戶在選擇商城系統時將考慮的問題。 PHP mall系統消耗相對較少的系統資源。
5,php開源商城系統更安全
安全是每個用戶在選擇電子商務系統時會考慮的第一個問題,因為開源商城系統的源代碼是開放的並且沒有得到很好的保護,用戶將認為開源商城系統的安全性是不可靠的。然而,隨著電子商務系統開發技術的成熟,對開源商城系統的研究也取得了很大進展。有特殊的人來解決電子商務系統的BUG等問題。因此,開源商城系統的安全性能不斷提高。
商城系統應該具有的特點:
1、消費者購物非常的方便,可以直接在線上下訂單。比如團長和消費者可以直接在團購系統中下訂單;
2、如果消費者想要增加一些收益,就可以申請成為團長,團長作為自己的一份兼職,可以給自己帶來一部分收益;
3、可設置商品搶購時間段,限購數量,商品分類,商品描述,庫存設置,購物車等。
4、團長可推薦團長,團長可推薦消費者,消費者也可推薦消費者(關系鏈自動綁定/自定義傭金比例),這樣團長也不用擔心自己的客戶流失。
5、數據系統化(訂單/款項/配送/關系鏈/傭金)等,減少了公司和團長工作量,避免了財務和訂單出錯。
6、管理後台:團長(自提點)信息的添加/刪除/審核;商品上下架;消費者信息管理,訂單數據統計管理,配送管理等。
7、可直接導出或列印「某個小區/某個時間段/不同商品的銷售數量」,並依此數據可直接進行貨品配送。
8、每個團長都可在平台上查看自己小區的經營狀況(消費者下單明細/自己的傭金明細/自己的下線明細/自己的訂單明細等)。
9、商家可以設置商品的搶購段,吸引更多人的關注,比如商家可以推出限購活動,消費者在了解了活動的詳情以及產品信息之後,只要比較感興趣,就可以直接將產品收進自己的購物車。通過開展搶購活動,可以吸引更多用戶關注商城團購系統。
10、每一個團購都有一個團長,團長也可以推薦其他社區的人成為團長,班長也可以推薦消費者,消費者也可以推薦其他的消費者,這樣團長就不用擔心消費者流失了。
11、商家有了商城系統之後,可以對訂單數據進行快速的處理,減少了公司和團長的工作量,同時也能夠避免在財務和訂單方面出現問題。
總的來說,一個好的商城系統通過用戶的主動分享,口碑傳播效應,讓你的推廣成本直線下降,推廣速度倍增,粉絲迅速累積,還能獲得即時資金,訂單量暴增,門店引流等等作用!這種模式從整體上解決了原來傳統方式的流量問題、推廣成本高昂問題、0庫存問題、損耗問題、資金壓力等等問題。
E. 怎樣用PHP編個購物車的程序
簡單說了,可以用Dreamweaver做網頁開發平台,PHPnow打包套件作為後台,包括Apache(作為伺服器)+PHP(作為PHP庫資源)+MySQL(作為資料庫環境)。要在資料庫的添加表單等等操作,在PhpAdmin下登錄進入MySQL。
編輯網頁的內容會在一個叫做htdocs的文件夾內,編輯資料庫的內容會在一個叫data的文件夾內。
用Dreamweaver時要設置PHPnow的路徑作為站點。
F. PHP 高手 請進來看下這段購物車代碼
$sql="SELECT name,price FROM proct WHERE id='$id'";
$id是變數,php中雖然雙引號和單引號都能表示字元串,但是不同的是,單引號不能解析變數,也就是說'$aaaa'表示的就是字元串$aaaa,而不會解析字元串!
改為:
$sql="SELECT name,price FROM proct WHERE id=$id";
G. 在thinkphp中如何使用checkbox 類似購物車的,如何用checkbox勾選n行數據,傳送到下一個頁面顯示出來。
$_POST表單提交後本來就會有勾選的checkbox值,如果要jQuery的話:
<html>
<head>
<metahttp-equiv="Content-Type"content="text/html;charset=utf-8"/>
<title>GetCheckboxValues</title>
<scriptlanguage="javascript"type="text/javascript"src="../js/jquery-1.9.1.js"></script>
</head>
<body>
<inputtype="checkbox"name="ids[]"value="abc"/>
<inputtype="checkbox"name="ids[]"value="def"/>
<inputtype="checkbox"name="ids[]"value="ghi"/>
<inputid="btn"type="button"name="btn"value="submit"/>
<script>
jQuery(function(){
varbox={
getBoxVal:function(){
array=newArray();
$("input[name^='ids']").each(function(i){
if($(this).prop('checked')==true){
array.push($(this).val());
}
});alert(array);
returnarray;
},//endgetBoxVal
submitForm:function(){
arr=box.getBoxVal();
$("#btn").click(function(){
alert("arr:"+arr);
});
}//endsubmitForm
}//endbox
box.submitForm();
});
</script>
</body>
</html>