다시한번 글을 남깁니다..저에 한계에 부딪쳐서요..ㅠㅠ

· 2013-04-27 (토) 10:43:42 · 2644 · 3
제가 운영하는 사이트에 쿠폰게시판에 대해 급한 질문드립니다.

다름이 아니라 현재 쿠폰을 발행시 한아이디당 한번만 쿠폰을 프린트 하게 할려고 하는데 도저히 모르겠어요..제가 워낙 초짜라 정말 힘듭니다.
현재는 회원가입하면 한 아이디가 한 업체의 쿠폰을 반복적으로 무한정 프린트 할 수 있습니다.

어디를 손을 봐야 할지 혹시 한 아이디가 한번 받은 쿠폰은 다시는 못 받고 받지 않는 쿠폰만 받을 수 있게 할 수 있는지 고수님들의 도움이 필요합니다.

예를 들어 추천, 비추천 하듯이 한 아이디당 한번만 가능하도록 하는 기능을 게시물 보기로도 가능한건지요...


넓은 마인드 님께서 알려주신 내용으로 한다면
=============================================================================
1. 별도의 테이블을 만듭니다(로그) 그래서 회원이 쿠폰을 발행 받았을때 해당 테이블에 값을 입력합니다

2. 프린트 페이지에 로그 테이블에서 해당 회원아이디가 있는지 확인후 있으면 못받게 예외처리를 합니다


위 처럼 처리를 하면 되는데요. 쿠폰이 글보기 페이지(view.skin.php) 에서 출력이 가능하다면

view.skin.php 파일의 상단에 2번 내용을 추가해 두시면 한번 발급한 사람은 읽기가 안되게끔

처리가 가능합니다.

================================================================================
이런 방법으로 한다면 된다는데 제가 프로그램을 전혀 아는 지식이 없어
좀더 자세히 알려주실 수 있으신지요...고수님들의 도움이 무척이나 필요한 사항이라 부탁드립니다.

도와주세요...


아래는 view_skin.php소스 내용입니다.

<?
if (!defined("_GNUBOARD_")) exit; // 개별 페이지 접근 불가


// 쿠폰유효일자 구하기
$wr_2 = preg_replace("/[^0-9]/", "", $write[wr_2]);
$now_year = date("Y",time());
$now_month = date("m",time());
$now_day = date("d",time());

$future_make = mktime ( 00, 00, 00, $now_month, $now_day, $now_year);

$now_view = $now_year . "." . $now_month . "." . $now_day;
$future_view = date('Y.m.d', strtotime($wr_2." day",$future_make));
?>

<style type="text/css">
.write_head { height:30px; text-align:center; color:#8492A0; }
</style>

<script type="text/javascript" charset="<?=$g4['charset']?>">
<!--
function coupon_print<?=$write[wr_id]?>()
{
<?
// 프린트 이후 부모창 리프래쉬 가 안될경우 가 발생하는것은 고려하지 않음
$now_member_point = (int)$member[mb_point] - (int)$list[$i][wr_10];
$member[point] = number_format($member[mb_point]);
$write[wr10] = number_format($write[wr_10]);
$now_quant = $write[wr_8]-1;
if($now_quant <= 0) {
?>
alert("I'm sorry.Coupon not quantity.");
<? } else { ?>
if(confirm("\"<?=$write[wr_subject]?>\" You want to print coupons?\n\n<?=$write[wr10]?>points screen print coupons will expire automatically when you approach.\n\nYour current points is <?=$member[point]?>points.")) {
var frm = document.couponf<?=$write[wr_id]?>;
window.open("", "Cprint", "width=520,height=350,left=200,top=100,toolbar=no,menubar=no,status=no,scrollbars=yes,resizable=no");
frm.target = "Cprint";
frm.action = "<?=$board_skin_path?>/coupon_print.php";
frm.submit();
location.reload(); // 쿠폰 프린트접근후 포인트 정산 새로하기위한 강제 리프레쉬
}
<? } ?>
<? echo $now_member_point; ?>
}
//-->
</SCRIPT>
<form name="couponf<?=$write[wr_id]?>" method="post" action="" style="margin:0;padding:0;">
<input type="hidden" name="bo_table" value="<?=$bo_table?>">
<input type="hidden" name="wr_id" value="<?=$write[wr_id]?>">
</form>

<div style="height:12px; line-height:1px; font-size:1px;"> </div>

<!-- 게시글 보기 시작 -->
<table width="100%" align="center" cellpadding="0" cellspacing="0"><tr><td>


<div style="clear:both; height:30px;">
<div style="float:left; margin-top:6px;">
<img src="<?=$board_skin_path?>/img/icon_date.gif" align=absmiddle border='0'>
<span style="color:#888888;">Date : <?=date("y-m-d H:i", strtotime($view[wr_datetime]))?></span>
</div>
|

댓글 3개

넓은 마인드님께서 다 설명해주신듯하지만 답변해봅니다;;

1. mysql의 개념을 아셔야합니다.
네이버에 "phpmyadmin 테이블" 을 검색하여 연습해봅니다.

2. 프린트 페이지에 로그 테이블에서 해당 회원아이디가 있는지 확인후 있으면 못받게 예외처리를 합니다
"coupon_list"라는 테이블을 만드셧다고 가정합시다. 여기에는 아래와 같은 칼럼을 만들겠죠.
쿠폰번호 | 쿠폰 발급날자 | 쿠폰 만료일 | 쿠폰 발급자 아이디 | 발급횟수 | 사용횟수 | 시용가능횟수
프로그램의 확장성을 고려해서 관리자는 10번까지 가능하다거나 할 수 있으니 발급횟수 칼럼을 추가했습니다.

전부 알려드리는것은 불가능하기에;;
일부분의 알고리즘정도를 올려드립니다;;

--------------------------------------------------
*알고리즘 (?)
// 쿠폰 생성페이지----
로그인이 되었는가? 를 확인합니다.
로그인이 되지않았다면 로그인 페이지로 이동됩니다.

로그인이 되어있다면 아이디를 불러옵니다.
이 아이디를가지고 "coupon_list"테이블에 같은 아이디가 있는지 검색합니다.
해당 아이디에 관련된 칼럼에 횟수를 확인하고 이 아이디가 관리자인지 확인합니다.
발급횟수가 0이거나 없을경우 발급페이지로 이동되며,
발급횟수가 1이면 이미발급되었다는 메시지를 출력합니다.
관리자일경우 자동으로 발급 페이지로 이동됩니다.

// 쿠폰 사용페이지----
쿠폰번호를 입력받습니다.
입력받은 쿠폰번호가 "coupon_list"테이블에 있는가를 확인합니다.

있다면 쿠폰사용가능횟수가 남았는가를 확인합니다.
사용가능횟수가 0이라면 사용이 불가능하다는 메시지를 표시합니다.

쿠폰 사용기간이 만료되었는가를 확인합니다.
만료되었다면 사용이 불가능하다는 메시지를 표시합니다.

--------------------------------------------------
이 아이디어 참고해서 곧 스킨만들어야겠습니다 ㅎ
2013-04-27 (토) 14:51:03
한번 시도해 보겠습니다..잘 될지 모르지만..친절한 답변 감사드립니다..ㅎㅎ
댓글을 작성하시려면 로그인이 필요합니다.

그누4 질문답변

66,531건

그누보드4 관련 질문은 QA 로 이전됩니다. QA 그누보드4 바로가기 기존 게시물은 열람만 가능합니다.

+
제목 글쓴이 날짜 조회
13-04-27 조회 1,909
13-04-27 조회 2,415
13-04-27 조회 1,075
13-04-27 조회 917
13-04-27 조회 997
13-04-27 조회 861
13-04-27 조회 2,645
13-04-27 조회 1,042
13-04-27 조회 1,261
13-04-27 조회 1,089
13-04-27 조회 1,080
13-04-27 조회 859
13-04-27 조회 1,118
13-04-27 조회 899
13-04-26 조회 1,003
13-04-26 조회 2,384
13-04-26 조회 1,648
13-04-26 조회 1,225
13-04-26 조회 1,646
13-04-26 조회 1,086