common.php와의 충돌문제 조언 부탁드립니다. 정보
common.php와의 충돌문제 조언 부탁드립니다.본문
abc.com/paytest2.php
를 다이렉트로 실행하면 정상적으로 값을 전달합니다.
근데
abc.com/pay2.php로 아래와 같이 payment2.php를 인크루트 하면
값이 전달안됩니다.
<?
$g4_path = "bbs";
include_once("$g4_path/common.php");
include_once("bbs/head.sub.php");
include_once("$g4[path]/lib/outlogin.lib.php");
include_once("$g4[path]/head4.php");
include_once("paytest2.php");
include_once("$g4[path]/under3.php");
?>
아마도 common.php 와 충동이 있는거 같습니다.
payment2.php 소스 중 넘기는 자바 입니다.
<SCRIPT language="javascript">
/**
결제 요청 함수 (결제창 호출)
*/
function reqPayment() {
setSmode(); // 예제 테스트를 위한 함수 (Smode_tmp->Smode)
if(document.payform.Smode.value!="0002" && document.payform.Smode.value!="0003")
{ // 현금영수증 직접 전송은 팝업을 이용하지 않음
TG_PAY = window.open("","TG_PAY", "resizable=no, width=1390, height=360");
TG_PAY.focus();
document.payform.target="TG_PAY";
}
document.payform.action="https://npg.tgcorp.com/dlp/start.jsp";
}
/**
거래시간은 편의상 구매자 PC 시간을 사용합니다.
실제로는 쇼핑몰 서버의 시간을 사용해야 합니다.
*/
function setTxTime() {
var time = new Date();
var year = time.getYear() + "";
var month = time.getMonth()+1;
var date = time.getDate();
var hour = time.getHours();
var min = time.getMinutes();
var sec = time.getSeconds();
if(month<10) month = "0" + month;
if(date<10) date = "0" + date;
if(hour<10) hour = "0" + hour;
if(min<10) min = "0" + min;
if(sec<10) sec = "0" + sec;
return year + month + date + hour + min + sec;
}
/**
거래번호(MxIssueNO), 거래일시(MxIssueDate) 생성 예제
예제에서는 편의상 거래시간을 거래번호로 사용합니다.
실제로는 쇼핑몰의 고유 주문번호를 사용해야 합니다.
*/
function initValue() {
var tmp = setTxTime();
document.payform.MxIssueNO.value = "TEST_"+tmp;
document.payform.MxIssueDate.value = tmp;
}
/**
예제 테스트를 위해, 선택한 결제 수단 값(Smode_tmp)을 Smode에 설정
실제로, Smode1 ~ Smode8은 hidden으로 설정
*/
function setSmode() {
document.payform.Smode.value = document.payform.Smode_tmp.value;
document.payform.Smode1.value = document.payform.Smode_tmp1.value;
document.payform.Smode2.value = document.payform.Smode_tmp2.value;
document.payform.Smode3.value = document.payform.Smode_tmp3.value;
document.payform.Smode4.value = document.payform.Smode_tmp4.value;
document.payform.Smode5.value = document.payform.Smode_tmp5.value;
document.payform.Smode6.value = document.payform.Smode_tmp6.value;
document.payform.Smode7.value = document.payform.Smode_tmp7.value;
document.payform.Smode8.value = document.payform.Smode_tmp8.value;
}
</SCRIPT>
<input type="hidden" name="MxID" value="123123"> <!-- 가맹점 ID -->
<input type="hidden" name="MxIssueNO"> <!-- 거래 번호(가맹점 생성) -->
<input type="hidden" name="MxIssueDate"> <!-- 거래 일자(가맹점 생성, YYYYMMDDhhmmss) -->
<!--input type="hidden" name="Amount" value=""> <!-- 거래 금액 -->
<input type="hidden" name="Currency" value="KRW"> <!-- 화폐 구분 -->
<input type="hidden" name="CcMode" value="10"> <!-- 거래 모드(신용카드-'00':데모,'11':실거래 | 기타거래-'10':실거래) -->
무엇때문에 충돌이 생길까요..ㅠ.ㅠ
를 다이렉트로 실행하면 정상적으로 값을 전달합니다.
근데
abc.com/pay2.php로 아래와 같이 payment2.php를 인크루트 하면
값이 전달안됩니다.
<?
$g4_path = "bbs";
include_once("$g4_path/common.php");
include_once("bbs/head.sub.php");
include_once("$g4[path]/lib/outlogin.lib.php");
include_once("$g4[path]/head4.php");
include_once("paytest2.php");
include_once("$g4[path]/under3.php");
?>
아마도 common.php 와 충동이 있는거 같습니다.
payment2.php 소스 중 넘기는 자바 입니다.
<SCRIPT language="javascript">
/**
결제 요청 함수 (결제창 호출)
*/
function reqPayment() {
setSmode(); // 예제 테스트를 위한 함수 (Smode_tmp->Smode)
if(document.payform.Smode.value!="0002" && document.payform.Smode.value!="0003")
{ // 현금영수증 직접 전송은 팝업을 이용하지 않음
TG_PAY = window.open("","TG_PAY", "resizable=no, width=1390, height=360");
TG_PAY.focus();
document.payform.target="TG_PAY";
}
document.payform.action="https://npg.tgcorp.com/dlp/start.jsp";
}
/**
거래시간은 편의상 구매자 PC 시간을 사용합니다.
실제로는 쇼핑몰 서버의 시간을 사용해야 합니다.
*/
function setTxTime() {
var time = new Date();
var year = time.getYear() + "";
var month = time.getMonth()+1;
var date = time.getDate();
var hour = time.getHours();
var min = time.getMinutes();
var sec = time.getSeconds();
if(month<10) month = "0" + month;
if(date<10) date = "0" + date;
if(hour<10) hour = "0" + hour;
if(min<10) min = "0" + min;
if(sec<10) sec = "0" + sec;
return year + month + date + hour + min + sec;
}
/**
거래번호(MxIssueNO), 거래일시(MxIssueDate) 생성 예제
예제에서는 편의상 거래시간을 거래번호로 사용합니다.
실제로는 쇼핑몰의 고유 주문번호를 사용해야 합니다.
*/
function initValue() {
var tmp = setTxTime();
document.payform.MxIssueNO.value = "TEST_"+tmp;
document.payform.MxIssueDate.value = tmp;
}
/**
예제 테스트를 위해, 선택한 결제 수단 값(Smode_tmp)을 Smode에 설정
실제로, Smode1 ~ Smode8은 hidden으로 설정
*/
function setSmode() {
document.payform.Smode.value = document.payform.Smode_tmp.value;
document.payform.Smode1.value = document.payform.Smode_tmp1.value;
document.payform.Smode2.value = document.payform.Smode_tmp2.value;
document.payform.Smode3.value = document.payform.Smode_tmp3.value;
document.payform.Smode4.value = document.payform.Smode_tmp4.value;
document.payform.Smode5.value = document.payform.Smode_tmp5.value;
document.payform.Smode6.value = document.payform.Smode_tmp6.value;
document.payform.Smode7.value = document.payform.Smode_tmp7.value;
document.payform.Smode8.value = document.payform.Smode_tmp8.value;
}
</SCRIPT>
<input type="hidden" name="MxID" value="123123"> <!-- 가맹점 ID -->
<input type="hidden" name="MxIssueNO"> <!-- 거래 번호(가맹점 생성) -->
<input type="hidden" name="MxIssueDate"> <!-- 거래 일자(가맹점 생성, YYYYMMDDhhmmss) -->
<!--input type="hidden" name="Amount" value=""> <!-- 거래 금액 -->
<input type="hidden" name="Currency" value="KRW"> <!-- 화폐 구분 -->
<input type="hidden" name="CcMode" value="10"> <!-- 거래 모드(신용카드-'00':데모,'11':실거래 | 기타거래-'10':실거래) -->
무엇때문에 충돌이 생길까요..ㅠ.ㅠ
댓글 전체
이거 아래에서도 본 내용인데요.. 중복질문같네요
abc.com/paytest2.php 가 정상이라면
$g4_path = "bbs"; 가 아닙니다.
bbs 경로를 따로 정의를 줄 필요가 없구요 $g4[bbs_path] 를 쓰시면됩니다.
그리고 $g4[bbs_path]/common.php 도 에러날겁니다. _common.php 입니다.
$g4_path = "bbs"; 라구 정의내리구선
include_once("bbs/head.sub.php");
이건 뭥미 입니까...
결론적으로 파일 위치를 잘 파악하시고 인클루드 하시길.
abc.com/paytest2.php 가 정상이라면
$g4_path = "bbs"; 가 아닙니다.
bbs 경로를 따로 정의를 줄 필요가 없구요 $g4[bbs_path] 를 쓰시면됩니다.
그리고 $g4[bbs_path]/common.php 도 에러날겁니다. _common.php 입니다.
$g4_path = "bbs"; 라구 정의내리구선
include_once("bbs/head.sub.php");
이건 뭥미 입니까...
결론적으로 파일 위치를 잘 파악하시고 인클루드 하시길.
소중한 답변 감사드립니다.^^