phpsource/회원인증2001. 1. 12. 14:34
세션함수(또는 세셔너) 및 쿠커를 이용하여 장바구니를 구현하였습니다.
PHP3에서 세션함수를 이용하기 위해서는 제가 공개한 세셔너-0.2.4을 문서상단에 포함하여 주세요. PHP4에서 사용할 때는 세셔너함수를 포함시키면 안됩니다.
쿠커(Cooker)용 장바구니에서는 PHP3와 PHP4에 관계없이 제가 공개한 쿠커-0.0.1을 문서상단에 포함하여 주세요.
장바구니 클래스 및 샘플 코드는 Tip&Tech&Download 게시판에 파일로 올려놓았습니다.
파일 구성
세셔너용
lib.sessioner.php - PHP3에서 세션함수를 사용하기 위한 라이브러리
class.carter4sessioner.php - 세셔너용 장바구니 클래스
class.article.php - 상품정보를 관리해주는 클래스
shopping.php3 - 쇼핑을 위한 쇼윈도우 샘플
cart.php3 - 장바구니를 보여주는 페이지 샘플
PHP4에서는 sessioner.php 파일이 필요없으며 cart.php3 및 shopping.php3 상단에 있는 세셔너 함수를 인클루드하는 부분을 삭제합니다.
[code php;gutter:false] require("./sessioner/lib.sessioner.php"); //<- PHP4에서는 삭제할 것 require("./cart/class.carter4sessioner.php"); require("./cart/class.article.php"); [/code]
쿠커용
class.cooker.php - 쿠커(Cooker; 쿠키정보 클래스)
class.carter4cooker.php - 쿠커용 장바구니 클래스
class.article.php - 상품정보를 관리해주는 클래스
shopping.php3 - 쇼핑을 위한 쇼윈도우 샘플
cart.php3 - 장바구니를 보여주는 페이지 샘플
쿠커를 사용하기 위해서는 PHP 버전에 관계없이 항상 문서 상단에 포함시켜야 합니다. class.article.php, cart.php3 및 shopping.php3 파일은 세셔너용과 동일합니다.
[code php;gutter:false] require("./cooker/class.cooker.php"); //<- PHP3, PHP4 모두에서 필요 require("./cart/class.carter4cooker.php"); require("./cart/class.article.php"); [/code]
장바구니 구조
장바구니는 세션함수를 이용하여 주문자가 주문처리하거나 로그아웃할 때까지 서버에 저장하도록 합니다.
ver 0.0.1
배열형태로 구성되었으며, 상품코드를 인덱스키로 하고, 주문수량이 값으로 저장되어 있습니다.
[code php;gutter:false] $Cart["A001"] = 4; // 상품코드 "A001"의 주문수량은 4개임 $Cart["A002"] = 2; // 상품코드 "A002"의 주문수량은 2개임 $Cart["B001"] = 3; // 상품코드 "B001"의 주문수량은 3개임 [/code]
ver 0.0.2
상품코드 및 상품색상에 의하여 분류할 수 있도록 2차원 배열로 구성되어 있습니다.
[code php;gutter:false] $CartData[상품코드][색상코드] = 주문수량 $CartData["A001"]["흰색"] = 4; // "A001" 흰색 상품의 주문수량은 4개임 $CartData["A002"]["갈색"] = 5; // "A002" 갈색 상품의 주문수량은 5개임 [/code]
장바구니 클래스(ver 0.0.2)
장바구니는 class.carter4sessioner.php(세셔너용), class.carter4cooker.php(쿠커용) 파일에서 클래스 Carter로 작성되어 있습니다. 생성자 매개변수로 장바구니로 이용할 세션변수명 또는 쿠키명을 지정할 수 있습니다. 생략하면 "PHP_CARTER_DATA"라는 이름을 사용합니다.
[code php;gutter:false] $cart = new Carter; // 장바구니 세션변수명 또는 쿠키명 = "PHP_CARTER_DATA" $cart = new Carter("mycart"); // 장바구니 세션변수명 또는 쿠키명 = "mycart" [/code]
쇼윈도우 화면
진열된 상품을 볼 수 있으며 이 화면에서 필요한 상품을 필요한 수량만큼 구매할 수 있습니다.
< 쇼윈도우 페이지 >
장바구니 보기 화면
쇼윈도에서 주문한 상품 리스트를 볼 수 있습니다. 이 화면 내에서 주문수량을 하나씩 추가하거나 줄일 수 있으며 필요없는 상품은 삭제할 수도 있습니다.
< 장바구니 보기 페이지 >

Posted by 방글24