쇼핑몰에서 상품비교하기에 사용한 쿠키저장식의 로직이다.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
|
<?php
$Tnt = 10; //쿠키전체 갯수
$LN = parse_str_ext($QUERY_STRING);
$Cnt = count($LN[‘listcheck’]); //GET으로 받은 listcheck 변수의 갯수
if ($DEL == “Y”) :
// 쿠키 삭제
$mst = $Tnt – 1;
for ($ist=0; $ist<$Tnt; $ist++) {
for ($jst=0; $jst<$Cnt; $jst++) {
if($LN[‘listcheck’][$jst] == $Compare_cart[$ist]) {
$COMP[$ist] = “”;
$PRE[$ist] = “empty”;
break;
} else {
$COMP[$ist] = $Compare_cart[$ist];
}
}
}
for ($kst=0; $kst<$Tnt; $kst++) {
if (strlen($COMP[$kst]) == 0 && $PRE[$kst] == “empty”) {
for ($nst=$mst; $nst>$kst; $nst—) {
if (strlen($COMP[$nst]) == 6) {
$COMP[$kst] = $COMP[$nst];
$COMP[$nst] = “”;
break;
}
}
}
}
for ($i=0; $i<$Tnt; $i++) {
setCookie(“Compare_cart[$i]”,$COMP[$i],0,“/”);
}
else :
// 쿠키값 일치여부 검사후 일치값은 비움
$fst = 0;
for ($ist=0; $ist<$Cnt; $ist++) {
for ($jst=0; $jst<$Tnt; $jst++) {
if ($LN[‘listcheck’][$ist] == $Compare_cart[$jst]) {
$LN[‘listcheck’][$ist] = “”;
$fst++; //쿠키와 일치하는 변수의 갯수
break;
}
}
}
// 빈 변수에 밀어넣기
for ($ast=0; $ast<$Tnt; $ast++) {
if ($LN[‘listcheck’][$ast] != “”) {
$LN[‘listcheck’][$ast] = $LN[‘listcheck’][$ast];
$COMP[$ast] = $LN[‘listcheck’][$ast];
} else {
for ($cst=$ast; $cst<($Cnt+1); $cst++) {
$LN[‘listcheck’][$ast] = $LN[‘listcheck’][$cst];
$COMP[$ast] = $LN[‘listcheck’][$ast];
if ($LN[‘listcheck’][$ast]) {
$LN[‘listcheck’][$cst] = “”;
break;
}
}
}
}
$Cnt = $Cnt – $fst;
// 쿠키저장
for ($i=0; $i<$Tnt; $i++) {
$j = ($Tnt – 1) – $i;
$k = $j – $Cnt;
if ($j >= $Cnt) {
setCookie(“Compare_cart[$j]”,$Compare_cart[$k],0,“/”);
$COMP[$j] = $Compare_cart[$k];
} else {
setCookie(“Compare_cart[$j]”,$LN[‘listcheck’][$j],0,“/”);
}
}
endif;
?>
|