 |
|
|  |
[PHP] $ SESSION º¯¼ö¸¦ ÀÌ¿ëÇÑ Àå¹Ù±¸´Ï |
|
|
 |
14³â Àü |
¿ì¼± source ÄÚµå Ãâó´Â...
http://www.phpschool.com/bbs2/inc_view.html?id=2675&code=tnt2&start=0&mode=search&field=body&search_name=&operator=and&period=all&category_id=&s_que=cart
º¸¾ÈÀ» À§ÇØ register_global °ªÀ» off ·Î ³õ°í ¾²´Ùº¸´Ï ±âÁ¸ ÇÁ·Î±×·¥À» ¼ÕºÁÁà¾ß ÇÒ ÀÏÀÌ »ý°å´Ù.
ÀÌÀü ¼Ò½º¿¡¼ º¯¼ö¸í¸¸ ±³Ã¼ÇØÁÖ¸é ¹Ù·Î »ç¿ëÀÌ °¡´ÉÇÏ´Ù.
[cart.class]
<?
class Item {
var $name; //Ç°¸ñ¸í
var $code; //DB¿ë ÄÚµå
var $count; //¼ö·®
var $price; //´Ü°¡
}
class Cart {
var $item;
function set($name,$code,$count,$price) //Àå¹Ù±¸´Ï ³Ö±â
{
$this->item[$name] = new Item;
$this->item[$name]->name=$name;
$this->item[$name]->code=$code;
$this->item[$name]->count=$count;
$this->item[$name]->price=$price;
}
function get($name) //Ç°¸ñ¸íÀ¸·Î ³»¿ë Àоî¿À±â
{
return $this->item[$name];
}
function fetch() //Ç°¸ñ³»¿ëÀ» Çϳª¾¿ °¡Á®¿À±â
{
$temp=current($this->item);
if (!$temp) reset($this->item);
else {next($this->item);}
return $temp;
}
function remove($name) //Ç°¸ñÀ» »èÁ¦Çϱâ
{
unset($this->item[$name]);
}
}
?>
ÁÖÀÇÁ¡ : class¸¦ ¼±¾ðÇÔ¿¡ ÀÖ¾î¼ ¸¸¾à session()À» ºÎ¿©ÇÏ°í ½Í´Ù¸é ¹Ýµå½Ã session_start() º¸´Ù ¼±ÇàµÇ¾ß ÇÏ¸ç ¼±ÇàµÊ¿¡ ÀÖ¾î¼ class ÆÄÀÏÀÇ ?> ű×ÀÇ ¸¶¹«¸®¿£ °ø¹éÀ» Çã¿ëÇؼ± ¾ÈµÈ´Ù.
-> session cache limiter ¿¡·¯°¡ ¹ß»ýÇÑ´Ù.
[process.php]
<?
require("cart.class");
session_start();
// $_SESSION[cart] °ªÀÌ Àִ°¡?
if (!isset($_SESSION[cart])) {
echo"¼¼¼ÇÀå¹Ù±¸´Ï °´Ã¼°¡ ¾ø´Ù<br>";
session_register("cart"); //cartÀ» ¼¼¼Ç°´Ã¼·Î µî·Ï
$_SESSION[cart] = new Cart;
}
$_SESSION[cart]->set($name,$code,$count,$price) ;
while ($item = $_SESSION[cart]->fetch()) {
$name = $item->name;
$code = $item->code;
$count=$item->count;
$price=$item->price;
echo"$name / $code / $count / $price<br>";
}
?>
³¡À¸·Î $_SESSION °ªÀ» Âï¾úÀ» ¶§...³ª¿À´Â array ±¸Á¶..
Array
(
[cart] => cart Object
(
[item] => Array
(
[½ºÀ§Æ® ·Î°í ±âº»Æ¼] => item Object
(
[name] => ½ºÀ§Æ® ·Î°í ±âº»Æ¼
[code] => 2004040007
[count] => 1
[price] =>
)
)
)
)
|
|
̵̧ : 284 |
̵̧
¸ñ·Ï
|
|
|  |
|