다시한번 글을 남깁니다..저에 한계에 부딪쳐서요..ㅠㅠ 정보
다시한번 글을 남깁니다..저에 한계에 부딪쳐서요..ㅠㅠ본문
제가 운영하는 사이트에 쿠폰게시판에 대해 급한 질문드립니다.
다름이 아니라 현재 쿠폰을 발행시 한아이디당 한번만 쿠폰을 프린트 하게 할려고 하는데 도저히 모르겠어요..제가 워낙 초짜라 정말 힘듭니다.
현재는 회원가입하면 한 아이디가 한 업체의 쿠폰을 반복적으로 무한정 프린트 할 수 있습니다.
어디를 손을 봐야 할지 혹시 한 아이디가 한번 받은 쿠폰은 다시는 못 받고 받지 않는 쿠폰만 받을 수 있게 할 수 있는지 고수님들의 도움이 필요합니다.
예를 들어 추천, 비추천 하듯이 한 아이디당 한번만 가능하도록 하는 기능을 게시물 보기로도 가능한건지요...
넓은 마인드 님께서 알려주신 내용으로 한다면
=============================================================================
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>
다름이 아니라 현재 쿠폰을 발행시 한아이디당 한번만 쿠폰을 프린트 하게 할려고 하는데 도저히 모르겠어요..제가 워낙 초짜라 정말 힘듭니다.
현재는 회원가입하면 한 아이디가 한 업체의 쿠폰을 반복적으로 무한정 프린트 할 수 있습니다.
어디를 손을 봐야 할지 혹시 한 아이디가 한번 받은 쿠폰은 다시는 못 받고 받지 않는 쿠폰만 받을 수 있게 할 수 있는지 고수님들의 도움이 필요합니다.
예를 들어 추천, 비추천 하듯이 한 아이디당 한번만 가능하도록 하는 기능을 게시물 보기로도 가능한건지요...
넓은 마인드 님께서 알려주신 내용으로 한다면
=============================================================================
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>
댓글 전체
넓은 마인드님께서 다 설명해주신듯하지만 답변해봅니다;;
1. mysql의 개념을 아셔야합니다.
네이버에 "phpmyadmin 테이블" 을 검색하여 연습해봅니다.
2. 프린트 페이지에 로그 테이블에서 해당 회원아이디가 있는지 확인후 있으면 못받게 예외처리를 합니다
"coupon_list"라는 테이블을 만드셧다고 가정합시다. 여기에는 아래와 같은 칼럼을 만들겠죠.
쿠폰번호 | 쿠폰 발급날자 | 쿠폰 만료일 | 쿠폰 발급자 아이디 | 발급횟수 | 사용횟수 | 시용가능횟수
프로그램의 확장성을 고려해서 관리자는 10번까지 가능하다거나 할 수 있으니 발급횟수 칼럼을 추가했습니다.
전부 알려드리는것은 불가능하기에;;
일부분의 알고리즘정도를 올려드립니다;;
--------------------------------------------------
*알고리즘 (?)
// 쿠폰 생성페이지----
로그인이 되었는가? 를 확인합니다.
로그인이 되지않았다면 로그인 페이지로 이동됩니다.
로그인이 되어있다면 아이디를 불러옵니다.
이 아이디를가지고 "coupon_list"테이블에 같은 아이디가 있는지 검색합니다.
해당 아이디에 관련된 칼럼에 횟수를 확인하고 이 아이디가 관리자인지 확인합니다.
발급횟수가 0이거나 없을경우 발급페이지로 이동되며,
발급횟수가 1이면 이미발급되었다는 메시지를 출력합니다.
관리자일경우 자동으로 발급 페이지로 이동됩니다.
// 쿠폰 사용페이지----
쿠폰번호를 입력받습니다.
입력받은 쿠폰번호가 "coupon_list"테이블에 있는가를 확인합니다.
있다면 쿠폰사용가능횟수가 남았는가를 확인합니다.
사용가능횟수가 0이라면 사용이 불가능하다는 메시지를 표시합니다.
쿠폰 사용기간이 만료되었는가를 확인합니다.
만료되었다면 사용이 불가능하다는 메시지를 표시합니다.
--------------------------------------------------
1. mysql의 개념을 아셔야합니다.
네이버에 "phpmyadmin 테이블" 을 검색하여 연습해봅니다.
2. 프린트 페이지에 로그 테이블에서 해당 회원아이디가 있는지 확인후 있으면 못받게 예외처리를 합니다
"coupon_list"라는 테이블을 만드셧다고 가정합시다. 여기에는 아래와 같은 칼럼을 만들겠죠.
쿠폰번호 | 쿠폰 발급날자 | 쿠폰 만료일 | 쿠폰 발급자 아이디 | 발급횟수 | 사용횟수 | 시용가능횟수
프로그램의 확장성을 고려해서 관리자는 10번까지 가능하다거나 할 수 있으니 발급횟수 칼럼을 추가했습니다.
전부 알려드리는것은 불가능하기에;;
일부분의 알고리즘정도를 올려드립니다;;
--------------------------------------------------
*알고리즘 (?)
// 쿠폰 생성페이지----
로그인이 되었는가? 를 확인합니다.
로그인이 되지않았다면 로그인 페이지로 이동됩니다.
로그인이 되어있다면 아이디를 불러옵니다.
이 아이디를가지고 "coupon_list"테이블에 같은 아이디가 있는지 검색합니다.
해당 아이디에 관련된 칼럼에 횟수를 확인하고 이 아이디가 관리자인지 확인합니다.
발급횟수가 0이거나 없을경우 발급페이지로 이동되며,
발급횟수가 1이면 이미발급되었다는 메시지를 출력합니다.
관리자일경우 자동으로 발급 페이지로 이동됩니다.
// 쿠폰 사용페이지----
쿠폰번호를 입력받습니다.
입력받은 쿠폰번호가 "coupon_list"테이블에 있는가를 확인합니다.
있다면 쿠폰사용가능횟수가 남았는가를 확인합니다.
사용가능횟수가 0이라면 사용이 불가능하다는 메시지를 표시합니다.
쿠폰 사용기간이 만료되었는가를 확인합니다.
만료되었다면 사용이 불가능하다는 메시지를 표시합니다.
--------------------------------------------------
이 아이디어 참고해서 곧 스킨만들어야겠습니다 ㅎ
한번 시도해 보겠습니다..잘 될지 모르지만..친절한 답변 감사드립니다..ㅎㅎ