채택완료

회원가입완료 전환스크립트

2020-03-24 (화) 18:48:13 4,402

https://sir.kr/qa/249692

구매완료 전환스크립트를 /shop/orderformupdate.php 파일에서 goto_url로 넘기기 전에 심는 방법(위 링크에서 작은별님 채택된 답변)처럼...

회원가입완료 전환스크립트도 /bbs/register_form_update.php 파일에서 goto_url 로 register_result 로 넘기기 전에 심으면 되지 않을까 싶어서 아래처럼 변경해봤는데요... 문법상 이상한 부분이 있을까요...??

if( $w == '' ) {

?>

스크립트
<?php
   goto_url
}

이렇게 나눠도 문제가 없을지 걱정입니다...

현재 제작중이라 애널리틱스는 심진 않은 상태고, 전환스크립트가 들어갈 자리만 확보해놓으려고

미리 작업하다가 궁금해서 문의 남겨봅니다...;;

변경 전

Copy
run_event('register_form_update_after', $mb_id, $w);

 

if ($w == '') { 
    goto_url(G5_HTTP_BBS_URL.'/register_result.php');
} else if ($w == 'u') {

    $row = sql_fetch(~~~~~

변경 후

Copy
run_event('register_form_update_after', $mb_id, $w);

 

if ($w == '') { // 200324 전환스크립트 자리 확보
?>

<!-- 회원가입 전환스크립트 심는 곳 { -->

<!-- } 회원가입 전환스크립트 심는 곳 -->

<?php
    goto_url(G5_HTTP_BBS_URL.'/register_result.php');
} else if ($w == 'u') {

답변 3개 / 댓글 6개

채택된 답변
+20 포인트
2020-03-25 (수) 02:12:38

별로 좋지 않은 생각입니다. 그냥 결제완료페이지를 만드셨던 것 처럼, 회원가입완료 페이지에(없으면 만드셔서) 넣으시는게 나아보여요.

회원전환 스크립트라는게 어차피 네이버와 연결되어 집계되어야 하는데, 저렇게 하면 네이버랑 연결하라고 명령한 후 바로 다른 페이지로 이동해버리는거나 마찬가지라서요.

(어떤 웹사이트를 페이지가 로딩되기도 전에 다른 페이지로 가버리는 것 처럼)

간혹 집계가 되는 경우도 있긴할텐데, 확신을 할 수 없는 방식이에요.

답변에 대한 댓글 5개

아... 그럼 구매완료도 동일하게 orderformupdate 에 심는 것 보다는 구매완료페이지를 따로 만들어서 거기에 심던, orderinquiryview 페이지에 referer 체크해서 거기에 심는게 나을거 같다는거죠...??

회원가입도 마찬가지로 register_result 에서 referer 체크해서 심어주고...
네 완료페이지에서 처리하는게 가장 좋습니다.

다만, 말씀하셨듯이 완료페이지라는 게 대부분 직접 주소창에 치고 들어갈 수 있는 페이지이므로,
어떤 검증과정이 있으면 좋겠죠. (리퍼러가 가능하면 그리하시고, 안되면 뭐 세션이나 쿠키를 이용한다거나... 실은 대충하면 안해도 됩니다. ㅎㅎ)

이전 질문 답변에 보시면 다른 분들도 그렇게 주문번호만 넘겨받아서 다시 금액을 계산해주는 코드들을 주셨잖아요? 그런게 일종의 검증이라 보면 되겠네요. 회원이면 뭐 세션을 검증한다거나 아이디만 받아서 실제 가입일과 맞춰본다거나 그런식으로 분기해서 전환스크립트를 넣으심 될 거 같습니다.
말씀해주신대로 회원가입 전환은 회원가입완료페이지(register_result)에
[code]
<?php if( preg_match('/register_form/', $_SERVER['HTTP_REFERER']) ) { ?>
회원가입 전환스크립트 심을 곳
<?php } ?>
[/code]

구매완료 전환은 주문상세내역페이지(orderinquiryview)에
[code]
<?php if( preg_match('/orderform/', $_SERVER['HTTP_REFERER']) ) { ?>
구매완료 전환스크립트 심을 곳
<?php } ?>
[/code]

이렇게 넘어오기 전 referer 체크해서 전환스크립트가 실행되게끔 해놓았습니다;;

정규식...을 몰라 preg_match 를 저렇게만 써도 될지 모르겠지만 일단 저런식으로

넘어오기전 페이지가 register_form(회원가입작성) 이면 전환스크립트 실행
넘어오기전 페이지가 orderform(주문서작성) 이면 전환스크립트 실행
아 일단 referer가 제대로 넘어오는지 한번 찍어보시고, 테스트를 해보셔요.

그리고 단순 문자열 체크는 strpos를 쓰셔도 좋을거 같아요. 정규식 안쓰실거면

[code]
<?php if(strpos($_SERVER['HTTP_REFERER'], "register_form") !== false) { ?>
회원가입 전환스크립트 심을 곳
<?php } ?>
[/code]

어차피 완료페이지에서 소스보기 해보면 전환스크립트 박혀있는 걸 볼 수 있으니 그게 더 편하실려나 암튼 잘되었으면 좋겠네요.
아! 어차피 문자열만 체크할거면... strpos 로도 되겠네요~!

답변 감사합니다~! 많은 도움이 되었습니다!!

저도 궁금해여

2020-03-25 (수) 17:05:55

도움이 되었습니다.

답변에 대한 댓글 1개

도움이 되셨다니 다행이네요~!

답변을 작성하려면 로그인이 필요합니다.