특정페이지 접속때 포인트 한번만 차감되게 하는법? 정보
특정페이지 접속때 포인트 한번만 차감되게 하는법?본문
// 포인트 감소
insert_point($member['mb_id'], -10, "포인트 감소", "-point", $member['mb_id'], $g4['time_ymdhis']);
?>
insert_point($member['mb_id'], -10, "포인트 감소", "-point", $member['mb_id'], $g4['time_ymdhis']);
?>
특정페이지를 만들고 위 소스를 넣어주면 포인트가 감소 됩니다~
그런데 접속때 마다 10포인트씩 감소되어 버리는데 포인트를 한번만 감소 할 수 있게
할 수 없을까요!!
1) 아이디당 한번만 감소 하게하는 방법
2) 추가로 하루에 한번만 감소하게 하는 방법
========================
추가 질문입니다~
웹문서의 새로고침 방지 소스인데요!! f5키 및 마우스오른쪽 새로고침은
방지가 되는데 익스플로우 상단 메뉴에 있는 새로고침 버튼을 누르면
새로고침이 됩니다!! 익스플로 자체 웹문서 새로고침을 방지하는 방법이
있는지 궁금합니다!!
나름대로 상단윈도우 창으로 조그마게 메뉴부분을 없애고 만들보았지만
익스플로 메뉴 부분에서 기록으로 들어가면 다시 창이 커져 새로고침이
가능하게 되더군요~~ 답변 부탁드립니다!!
====> 새로고침 방지 기본소스
<script language='javascript'>
function noEvent() {
if (event.keyCode == 116) {
event.keyCode= 2;
return false;
}
else if(event.ctrlKey && (event.keyCode==78 || event.keyCode ==
82))
{
return false;
}
}
document.onkeydown = noEvent;
if (event.keyCode == 116) {
event.keyCode= 2;
return false;
}
else if(event.ctrlKey && (event.keyCode==78 || event.keyCode ==
82))
{
return false;
}
}
document.onkeydown = noEvent;
</script>
<meta name="generator" content="Namo WebEditor v5.0(Trial)">
<body oncontextmenu="return false">
<meta name="generator" content="Namo WebEditor v5.0(Trial)">
<body oncontextmenu="return false">
댓글 전체
^^;;
1) 아이디당 한번만 감소 하게하는 방법
2) 추가로 하루에 한번만 감소하게 하는 방법
생각나는대로 적어볼게요.
섹션(쿠키) 또는 db 에 접속 기록을 남겨서 처리하는 방법이 있는데요.. 우선 질문 내용에 보면 하루에 한번만 감속하도록 했으니 섹션보다는 db 에 접속 기록을 남겨서 ..접속할때 차감하는 방법이 있습니다.
그럼 만들어야할게 있는데요..
===>> 특정게시판에 접속할때만 해당 아이디정보가 남는 테이블이 있어야 겠죠.??
g4_point <<--- 이 테이블을 이용해서 대충 구문 한번 써볼게요.
1. bbs/board.php?bo_table=test // test 를 눌렀다고 가정.
-- list.skin.php 넣어줄 구문.
// 일단 포인트의 정보를 잃어 옵니다.
$m_table = "g4_point "; //
$mct = " mb_id = $member[mb_id] " // 접속한 회원을 검사한다.
$last_time = date() - 60*60*24 ; //24시간전의 시간을 조건 건다.. 구문 틀릴거여요.
$mct .= " and po_datetime > $last_time " // 24시간 이전 이후에 접속한 정보를 불러온다.
$s_point = cat_all( "select * from $m_table where $mct " );
// 즉 24시간 전부터 특정회원이 접속한 정보를 불러옵니다.
if(!$s_point){ // 만약 접속한 정보가 없으면 포인트를 차감한다.
insert_point($member['mb_id'], -10, "포인트 감소", "-point", $member['mb_id'], $g4['time_ymdhis']);
}
else{
echo ''; // 24시간 이전에 부터 현시점까지 접속 기록이 있다면 아무것도 실행하지 않는다.
}
==================================================================
뼈대는 위에 구문이 되거 같습니다... 물론 위에꺼 고대로 하면 실행 안되죠... 저도 안해봤지만......대충 위에꺼처럼 만들면 원하시는 기능이 될거여요.
$mct .= " and po_datetime > $last_time "
이 구문만 고치시면 될거여요.
2번은 몰겠어요.
1) 아이디당 한번만 감소 하게하는 방법
2) 추가로 하루에 한번만 감소하게 하는 방법
생각나는대로 적어볼게요.
섹션(쿠키) 또는 db 에 접속 기록을 남겨서 처리하는 방법이 있는데요.. 우선 질문 내용에 보면 하루에 한번만 감속하도록 했으니 섹션보다는 db 에 접속 기록을 남겨서 ..접속할때 차감하는 방법이 있습니다.
그럼 만들어야할게 있는데요..
===>> 특정게시판에 접속할때만 해당 아이디정보가 남는 테이블이 있어야 겠죠.??
g4_point <<--- 이 테이블을 이용해서 대충 구문 한번 써볼게요.
1. bbs/board.php?bo_table=test // test 를 눌렀다고 가정.
-- list.skin.php 넣어줄 구문.
// 일단 포인트의 정보를 잃어 옵니다.
$m_table = "g4_point "; //
$mct = " mb_id = $member[mb_id] " // 접속한 회원을 검사한다.
$last_time = date() - 60*60*24 ; //24시간전의 시간을 조건 건다.. 구문 틀릴거여요.
$mct .= " and po_datetime > $last_time " // 24시간 이전 이후에 접속한 정보를 불러온다.
$s_point = cat_all( "select * from $m_table where $mct " );
// 즉 24시간 전부터 특정회원이 접속한 정보를 불러옵니다.
if(!$s_point){ // 만약 접속한 정보가 없으면 포인트를 차감한다.
insert_point($member['mb_id'], -10, "포인트 감소", "-point", $member['mb_id'], $g4['time_ymdhis']);
}
else{
echo ''; // 24시간 이전에 부터 현시점까지 접속 기록이 있다면 아무것도 실행하지 않는다.
}
==================================================================
뼈대는 위에 구문이 되거 같습니다... 물론 위에꺼 고대로 하면 실행 안되죠... 저도 안해봤지만......대충 위에꺼처럼 만들면 원하시는 기능이 될거여요.
$mct .= " and po_datetime > $last_time "
이 구문만 고치시면 될거여요.
2번은 몰겠어요.
날자를 넣는곳이 잘못되어 있네요.
insert_point($member['mb_id'], -10, "포인트 감소", "-point", $member['mb_id'], $g4['time_ymd']);
그리고 새로고침을 막는 방법은 현제 이페이지에서 차감된 포인트 리스트를 가져온후 하루에 한번만 들어갈수 있도록 검사하면 가능 합니다.
insert_point($member['mb_id'], -10, "포인트 감소", "-point", $member['mb_id'], $g4['time_ymd']);
그리고 새로고침을 막는 방법은 현제 이페이지에서 차감된 포인트 리스트를 가져온후 하루에 한번만 들어갈수 있도록 검사하면 가능 합니다.
헐랭이님... ^^ 근데....구누보드 날짜 비교는 어떻게 돼죠.?? 에공.....어떤 구문으로 할지 모르겠네용..
호호호.. ^^ 시간까지만 넣는걸.... 고맙습니다. ^^
호호호.. ^^ 시간까지만 넣는걸.... 고맙습니다. ^^
그누 날짜 비교는 이렇게 됩니다.config.php 참조
$g4['server_time'] = time();
$g4['time_ymd'] = date("Y-m-d", $g4['server_time']);
$g4['time_his'] = date("H:i:s", $g4['server_time']);
$g4['time_ymdhis'] = date("Y-m-d H:i:s", $g4['server_time']);
ps: 그리고 뮤죤님의 글마다 구누 라고 하시는데 구누가 아니고 그누 입니다.^^
$g4['server_time'] = time();
$g4['time_ymd'] = date("Y-m-d", $g4['server_time']);
$g4['time_his'] = date("H:i:s", $g4['server_time']);
$g4['time_ymdhis'] = date("Y-m-d H:i:s", $g4['server_time']);
ps: 그리고 뮤죤님의 글마다 구누 라고 하시는데 구누가 아니고 그누 입니다.^^
k^^ 호곡 고맙습니다. ^^ 새해 복 많이 받으세요.
구누 <<--- 제가 손이 길다보니 ^^ 먼걸 자꾸 눌루내용. ^^ 호호호
구누 <<--- 제가 손이 길다보니 ^^ 먼걸 자꾸 눌루내용. ^^ 호호호
if ($member['mb_id']) {
$sql = " select count(*) as cnt from $g4[point_table]
where mb_id = '$member['mb_id']'
and po_rel_table = '-point'
and po_rel_id = '$member['mb_id']'
and po_rel_action = '$g4['time_ymd']' ";
$row = sql_fetch($sql);
if ($row[cnt]) {
alert("하루 한번만 접속이 가능 합니다.", $g4[path]);
}else {
insert_point($member['mb_id'], -10, "포인트 감소", "-point", $member['mb_id'], $g4['time_ymd']);
}
} else {
alert("로그인 하세요..", $g4[path]);
}
$sql = " select count(*) as cnt from $g4[point_table]
where mb_id = '$member['mb_id']'
and po_rel_table = '-point'
and po_rel_id = '$member['mb_id']'
and po_rel_action = '$g4['time_ymd']' ";
$row = sql_fetch($sql);
if ($row[cnt]) {
alert("하루 한번만 접속이 가능 합니다.", $g4[path]);
}else {
insert_point($member['mb_id'], -10, "포인트 감소", "-point", $member['mb_id'], $g4['time_ymd']);
}
} else {
alert("로그인 하세요..", $g4[path]);
}
답변 감사드립니다!! 첫번째 답변해주신것만으로도 충분했습니다!!
뮤존님 답변도 너무 너무 감사드립니다~~ 제가 원하는 답변은 헐랭이님께서 요점을 정확히
파악해 주셔서 답변 포인트는 헐랭이님께 드립니다~ 모두 감사드립니다~
뮤존님 답변도 너무 너무 감사드립니다~~ 제가 원하는 답변은 헐랭이님께서 요점을 정확히
파악해 주셔서 답변 포인트는 헐랭이님께 드립니다~ 모두 감사드립니다~
Parse error: syntax error, unexpected T_ENCAPSED_AND_WHITESPACE, expecting T_STRING or T_VARIABLE or T_NUM_STRING in /home/violin/loveviolin/1test.php on line 6
적용시
$sql = " select count(*) as cnt from $g4[point_table]
where mb_id = '$member['mb_id']'
and po_rel_table = '-point'
and po_rel_id = '$member['mb_id']'
and po_rel_action = '$g4['time_ymd']' ";
$row = sql_fetch($sql);
부분에서 오류가 나는것 같네요~~ 첫번째 답변으로 감사~
적용시
$sql = " select count(*) as cnt from $g4[point_table]
where mb_id = '$member['mb_id']'
and po_rel_table = '-point'
and po_rel_id = '$member['mb_id']'
and po_rel_action = '$g4['time_ymd']' ";
$row = sql_fetch($sql);
부분에서 오류가 나는것 같네요~~ 첫번째 답변으로 감사~
' ' 요거 때문일겁니다.ㅋ
$sql = " select count(*) as cnt from $g4[point_table]
where mb_id = '$member[mb_id]'
and po_rel_table = '-point'
and po_rel_id = '$member[mb_id]'
and po_rel_action = '$g4[time_ymd]' ";
$row = sql_fetch($sql);
$sql = " select count(*) as cnt from $g4[point_table]
where mb_id = '$member[mb_id]'
and po_rel_table = '-point'
and po_rel_id = '$member[mb_id]'
and po_rel_action = '$g4[time_ymd]' ";
$row = sql_fetch($sql);
만약 하루가 아닌 특정 기간을 주어 그 기간동안 포인트를 한번만 차감해 줄수 있는 설정은
어떻게 될까요~
어떻게 될까요~